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: XIndexAlteration.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_XIndexAlteration_idl__
32#define __com_sun_star_sdb_tools_XIndexAlteration_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 the indexes of a table.
51
52    @see com::sun::star::sdb::DataSource::Settings
53    @see com::sun::star::sdbcx::XAppend
54    @see com::sun::star::sdbcx::XDrop
55
56    @since OOo 3.3
57*/
58interface XIndexAlteration
59{
60    interface XConnectionSupplier;
61
62    /** drops an object of the related container identified by its name.
63        @param table
64            the table to be altered
65		@param index
66			the name of the column to be dropped
67		@throws com::sun::star::sdbc::SQLException
68			if a database access error occurs.
69	 */
70	void dropIndex([in] com::sun::star::beans::XPropertySet table,[in] string index)
71	    raises ( com::sun::star::sdbc::SQLException);
72
73    /** creates a new object using the given descriptor and appends it
74		to the related container.
75		<b>
76		Note:
77		</b>
78		The descriptor will not be changed and can be used again to append another object.
79        @param table
80            the table to be altered
81		@param descriptor
82			the descriptor which should be serve to append a new object
83		@throws com::sun::star::sdbc::SQLException
84			if a database access error occurs.
85	 */
86	void addIndex([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
87		raises (com::sun::star::sdbc::SQLException);
88
89
90};
91//=============================================================================
92}; }; }; }; };
93//=============================================================================
94
95#endif
96
97