1*cdf0e10cSrcweir/*************************************************************************
2*cdf0e10cSrcweir *
3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir *
5*cdf0e10cSrcweir * Copyright 2008 by Sun Microsystems, Inc.
6*cdf0e10cSrcweir *
7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir *
9*cdf0e10cSrcweir * $RCSfile: XTableAlteration.idl,v $
10*cdf0e10cSrcweir * $Revision: 1.3 $
11*cdf0e10cSrcweir *
12*cdf0e10cSrcweir * This file is part of OpenOffice.org.
13*cdf0e10cSrcweir *
14*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify
15*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3
16*cdf0e10cSrcweir * only, as published by the Free Software Foundation.
17*cdf0e10cSrcweir *
18*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful,
19*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of
20*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details
22*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code).
23*cdf0e10cSrcweir *
24*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License
25*cdf0e10cSrcweir * version 3 along with OpenOffice.org.  If not, see
26*cdf0e10cSrcweir * <http://www.openoffice.org/license.html>
27*cdf0e10cSrcweir * for a copy of the LGPLv3 License.
28*cdf0e10cSrcweir *
29*cdf0e10cSrcweir ************************************************************************/
30*cdf0e10cSrcweir
31*cdf0e10cSrcweir#ifndef __com_sun_star_sdb_tools_XTableAlteration_idl__
32*cdf0e10cSrcweir#define __com_sun_star_sdb_tools_XTableAlteration_idl__
33*cdf0e10cSrcweir
34*cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_SQLException_idl__
35*cdf0e10cSrcweir#include <com/sun/star/sdbc/SQLException.idl>
36*cdf0e10cSrcweir#endif
37*cdf0e10cSrcweir#include <com/sun/star/sdb/tools/XConnectionSupplier.idl>
38*cdf0e10cSrcweir#ifndef __com_sun_star_lang_XInitialization_idl__
39*cdf0e10cSrcweir#include <com/sun/star/lang/XInitialization.idl>
40*cdf0e10cSrcweir#endif
41*cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertySet_idl__
42*cdf0e10cSrcweir#include <com/sun/star/beans/XPropertySet.idl>
43*cdf0e10cSrcweir#endif
44*cdf0e10cSrcweir
45*cdf0e10cSrcweir//=============================================================================
46*cdf0e10cSrcweirmodule com {  module sun {  module star {  module sdb { module tools {
47*cdf0e10cSrcweir//=============================================================================
48*cdf0e10cSrcweir
49*cdf0e10cSrcweir//-----------------------------------------------------------------------------
50*cdf0e10cSrcweir/** allows to alter a table.
51*cdf0e10cSrcweir
52*cdf0e10cSrcweir    @see com::sun::star::sdb::DataSource::Settings
53*cdf0e10cSrcweir    @see com::sun::star::sdbcx::ColumnDescriptor
54*cdf0e10cSrcweir    @see com::sun::star::sdbcx::XAlterTable
55*cdf0e10cSrcweir    @see com::sun::star::sdbcx::XAppend
56*cdf0e10cSrcweir    @see com::sun::star::sdbcx::XDrop
57*cdf0e10cSrcweir
58*cdf0e10cSrcweir    @since OOo 3.3
59*cdf0e10cSrcweir*/
60*cdf0e10cSrcweirinterface XTableAlteration
61*cdf0e10cSrcweir{
62*cdf0e10cSrcweir    interface XConnectionSupplier;
63*cdf0e10cSrcweir
64*cdf0e10cSrcweir    /** alter the column defined by name
65*cdf0e10cSrcweir
66*cdf0e10cSrcweir        @param table
67*cdf0e10cSrcweir            the table to be altered
68*cdf0e10cSrcweir
69*cdf0e10cSrcweir        @param columnName
70*cdf0e10cSrcweir            the name of the column to be changed
71*cdf0e10cSrcweir
72*cdf0e10cSrcweir        @param columnDescriptor
73*cdf0e10cSrcweir            the column descriptor with the information of the new column definition
74*cdf0e10cSrcweir
75*cdf0e10cSrcweir        @throws com::sun::star::sdbc::SQLException
76*cdf0e10cSrcweir        @see com::sun::star::sdbcx::XAlterTable
77*cdf0e10cSrcweir    */
78*cdf0e10cSrcweir    void  alterColumnByName( [in] com::sun::star::beans::XPropertySet table, [in] string columnName, [in] com::sun::star::beans::XPropertySet columnDescriptor)
79*cdf0e10cSrcweir        raises ( com::sun::star::sdbc::SQLException );
80*cdf0e10cSrcweir
81*cdf0e10cSrcweir    /** creates a new object using the given descriptor and appends it
82*cdf0e10cSrcweir		to the related container.
83*cdf0e10cSrcweir		<b>
84*cdf0e10cSrcweir		Note:
85*cdf0e10cSrcweir		</b>
86*cdf0e10cSrcweir		The descriptor will not be changed and can be used again to append another object.
87*cdf0e10cSrcweir        @param table
88*cdf0e10cSrcweir            the table to be altered
89*cdf0e10cSrcweir		@param descriptor
90*cdf0e10cSrcweir			the descriptor which should be serve to append a new object
91*cdf0e10cSrcweir		@throws com::sun::star::sdbc::SQLException
92*cdf0e10cSrcweir			if a database access error occurs.
93*cdf0e10cSrcweir        @see com::sun::star::sdbcx::XAppend
94*cdf0e10cSrcweir	 */
95*cdf0e10cSrcweir	void addColumn([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
96*cdf0e10cSrcweir		raises (com::sun::star::sdbc::SQLException);
97*cdf0e10cSrcweir
98*cdf0e10cSrcweir    /** drops an object of the related container identified by its name.
99*cdf0e10cSrcweir        @param table
100*cdf0e10cSrcweir            the table to be altered
101*cdf0e10cSrcweir		@param columnName
102*cdf0e10cSrcweir			the name of the column to be dropped
103*cdf0e10cSrcweir		@throws com::sun::star::sdbc::SQLException
104*cdf0e10cSrcweir			if a database access error occurs.
105*cdf0e10cSrcweir        @see com::sun::star::sdbcx::XDrop
106*cdf0e10cSrcweir	 */
107*cdf0e10cSrcweir	void dropColumn([in] com::sun::star::beans::XPropertySet table,[in]string columnName)
108*cdf0e10cSrcweir	    raises ( com::sun::star::sdbc::SQLException);
109*cdf0e10cSrcweir};
110*cdf0e10cSrcweir//=============================================================================
111*cdf0e10cSrcweir}; }; }; }; };
112*cdf0e10cSrcweir//=============================================================================
113*cdf0e10cSrcweir
114*cdf0e10cSrcweir#endif
115*cdf0e10cSrcweir
116