1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_sdbcx_Table_idl__ 28#define __com_sun_star_sdbcx_Table_idl__ 29 30#ifndef __com_sun_star_beans_XPropertySet_idl__ 31#include <com/sun/star/beans/XPropertySet.idl> 32#endif 33 34 module com { module sun { module star { module sdbcx { 35 36 published interface XDataDescriptorFactory; 37 published interface XColumnsSupplier; 38 published interface XIndexesSupplier; 39 published interface XKeysSupplier; 40 published interface XRename; 41 published interface XAlterTable; 42 43 44/** used to specify a table in a database. A table is described by its 45 name and one or more columns. 46 47 <p> 48 In addition, it may contain indexes to improve the performance in 49 the retrieval of the table's data and keys, and to define semantic rules for the table. 50 </p> 51 <p> 52 <b> 53 Note: 54 </b> 55 All properties and columns of a table could by modified before 56 it is appended to a database. In that case, the service is in fact a 57 descriptor. On existing tables, a user might alter columns, add or delete 58 columns, indexes, and keys depending on the capabilities of the database and on 59 the user's privileges. 60 </p> 61 62 @see com::sun::star::sdbc::XDatabaseMetaData 63 @see com::sun::star::sdbcx::Privilege 64 */ 65published service Table 66{ 67 68 /** optional, could be used to copy an table. 69 */ 70 [optional] interface XDataDescriptorFactory; 71 72 73 /** access to the contained table columns. 74 */ 75 interface XColumnsSupplier; 76 77 78 /** optional, provides the access of the table indexes. 79 */ 80 [optional] interface XIndexesSupplier; 81 82 83 /** optional, provides the access to the table keys. 84 */ 85 [optional] interface XKeysSupplier; 86 87 88 /** optional, allows the renaming of tables. 89 */ 90 [optional] interface XRename; 91 92 93 /** optional, allows the altering of columns. 94 */ 95 [optional] interface XAlterTable; 96 97 // gives access to the properties 98 interface com::sun::star::beans::XPropertySet; 99 100 101 /** is the name of the table. 102 */ 103 [readonly, property] string Name; 104 105 106 /** is the name of the table catalog. 107 */ 108 [readonly, property] string CatalogName; 109 110 111 /** is the name of the table schema. 112 */ 113 [readonly, property] string SchemaName; 114 115 116 /** supplies a comment on the table. Could be empty, if not supported by 117 the driver. 118 */ 119 [readonly, property] string Description; 120 121 122 /** indicates the type of the table like (TABLE, VIEW, SYSTEM TABLE). 123 Could be empty, if not supported by the driver. 124 */ 125 [optional, readonly, property] string Type; 126}; 127 128//============================================================================= 129 130}; }; }; }; 131 132/*=========================================================================== 133===========================================================================*/ 134#endif 135