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