1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_sdbcx_Table_idl__
20 #define __com_sun_star_sdbcx_Table_idl__
22 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
24 module com
{ module sun
{ module star
{ module sdbcx
{
26 published
interface XDataDescriptorFactory
;
27 published
interface XColumnsSupplier
;
28 published
interface XIndexesSupplier
;
29 published
interface XKeysSupplier
;
30 published
interface XRename
;
31 published
interface XAlterTable
;
34 /** used to specify a table in a database. A table is described by its
35 name and one or more columns.
38 In addition, it may contain indexes to improve the performance in
39 the retrieval of the table's data and keys, and to define semantic rules for the table.
45 All properties and columns of a table could by modified before
46 it is appended to a database. In that case, the service is in fact a
47 descriptor. On existing tables, a user might alter columns, add or delete
48 columns, indexes, and keys depending on the capabilities of the database and on
49 the user's privileges.
52 @see com::sun::star::sdbc::XDatabaseMetaData
53 @see com::sun::star::sdbcx::Privilege
55 published service Table
58 /** optional, could be used to copy an table.
60 [optional] interface XDataDescriptorFactory
;
63 /** access to the contained table columns.
65 interface XColumnsSupplier
;
68 /** optional, provides the access of the table indexes.
70 [optional] interface XIndexesSupplier
;
73 /** optional, provides the access to the table keys.
75 [optional] interface XKeysSupplier
;
78 /** optional, allows the renaming of tables.
80 [optional] interface XRename
;
83 /** optional, allows the altering of columns.
85 [optional] interface XAlterTable
;
87 // gives access to the properties
88 interface com
::sun
::star
::beans
::XPropertySet
;
91 /** is the name of the table.
93 [readonly, property
] string Name
;
96 /** is the name of the table catalog.
98 [readonly, property
] string CatalogName
;
101 /** is the name of the table schema.
103 [readonly, property
] string SchemaName
;
106 /** supplies a comment on the table. Could be empty, if not supported by
109 [readonly, property
] string Description
;
112 /** indicates the type of the table like (TABLE, VIEW, SYSTEM TABLE).
113 Could be empty, if not supported by the driver.
115 [optional, readonly, property
] string Type
;
121 /*===========================================================================
122 ===========================================================================*/
125 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */