/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_sdb_tools_XTableAlteration_idl__ #define __com_sun_star_sdb_tools_XTableAlteration_idl__ #ifndef __com_sun_star_sdbc_SQLException_idl__ #include #endif #include #ifndef __com_sun_star_lang_XInitialization_idl__ #include #endif #ifndef __com_sun_star_beans_XPropertySet_idl__ #include #endif //============================================================================= module com { module sun { module star { module sdb { module tools { //============================================================================= //----------------------------------------------------------------------------- /** allows to alter a table. @see com::sun::star::sdb::DataSource::Settings @see com::sun::star::sdbcx::ColumnDescriptor @see com::sun::star::sdbcx::XAlterTable @see com::sun::star::sdbcx::XAppend @see com::sun::star::sdbcx::XDrop @since OOo 3.3 */ interface XTableAlteration { interface XConnectionSupplier; /** alter the column defined by name @param table the table to be altered @param columnName the name of the column to be changed @param columnDescriptor the column descriptor with the information of the new column definition @throws com::sun::star::sdbc::SQLException @see com::sun::star::sdbcx::XAlterTable */ void alterColumnByName( [in] com::sun::star::beans::XPropertySet table, [in] string columnName, [in] com::sun::star::beans::XPropertySet columnDescriptor) raises ( com::sun::star::sdbc::SQLException ); /** creates a new object using the given descriptor and appends it to the related container. Note: The descriptor will not be changed and can be used again to append another object. @param table the table to be altered @param descriptor the descriptor which should be serve to append a new object @throws com::sun::star::sdbc::SQLException if a database access error occurs. @see com::sun::star::sdbcx::XAppend */ void addColumn([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor) raises (com::sun::star::sdbc::SQLException); /** drops an object of the related container identified by its name. @param table the table to be altered @param columnName the name of the column to be dropped @throws com::sun::star::sdbc::SQLException if a database access error occurs. @see com::sun::star::sdbcx::XDrop */ void dropColumn([in] com::sun::star::beans::XPropertySet table,[in]string columnName) raises ( com::sun::star::sdbc::SQLException); }; //============================================================================= }; }; }; }; }; //============================================================================= #endif