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 .
20 module com
{ module sun
{ module star
{ module sdbcx
{
22 published
interface XDataDescriptorFactory
;
23 published
interface XColumnsSupplier
;
24 published
interface XIndexesSupplier
;
25 published
interface XKeysSupplier
;
26 published
interface XRename
;
27 published
interface XAlterTable
;
30 /** used to specify a table in a database. A table is described by its
31 name and one or more columns.
34 In addition, it may contain indexes to improve the performance in
35 the retrieval of the table's data and keys, and to define semantic rules for the table.
41 All properties and columns of a table could by modified before
42 it is appended to a database. In that case, the service is in fact a
43 descriptor. On existing tables, a user might alter columns, add or delete
44 columns, indexes, and keys depending on the capabilities of the database and on
45 the user's privileges.
48 @see com::sun::star::sdbc::XDatabaseMetaData
49 @see com::sun::star::sdbcx::Privilege
51 published service Table
54 /** optional, could be used to copy a table.
56 [optional] interface XDataDescriptorFactory
;
59 /** access to the contained table columns.
61 interface XColumnsSupplier
;
64 /** optional, provides the access of the table indexes.
66 [optional] interface XIndexesSupplier
;
69 /** optional, provides the access to the table keys.
71 [optional] interface XKeysSupplier
;
74 /** optional, allows the renaming of tables.
76 [optional] interface XRename
;
79 /** optional, allows the altering of columns.
81 [optional] interface XAlterTable
;
83 // gives access to the properties
84 interface com
::sun
::star
::beans
::XPropertySet
;
87 /** is the name of the table.
89 [readonly, property
] string Name
;
92 /** is the name of the table catalog.
94 [readonly, property
] string CatalogName
;
97 /** is the name of the table schema.
99 [readonly, property
] string SchemaName
;
102 /** supplies a comment on the table. Could be empty, if not supported by
105 [readonly, property
] string Description
;
108 /** indicates the type of the table like (TABLE, VIEW, SYSTEM TABLE).
109 Could be empty, if not supported by the driver.
111 [optional, readonly, property
] string Type
;
117 /*===========================================================================
118 ===========================================================================*/
120 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */