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_ColumnDescriptor_idl__
28#define __com_sun_star_sdbcx_ColumnDescriptor_idl__
29
30#ifndef __com_sun_star_sdbcx_Descriptor_idl__
31#include <com/sun/star/sdbcx/Descriptor.idl>
32#endif
33
34 module com {  module sun {  module star {  module sdbcx {
35
36
37/** describes the common properties of a database column. Could be used for the creation
38	of a database columns within a table.
39	@see com::sun::star::sdbcx::Column
40	@see com::sun::star::sdbcx::Table
41 */
42published service ColumnDescriptor
43{
44	service com::sun::star::sdbcx::Descriptor;
45
46
47	/** is the
48		<type scope="com::sun::star::sdbc">DataType</type>
49		of the column.
50	 */
51	[property] long Type;
52
53
54	/** is the type name used by the database. If the column type is
55		a user-defined type, then a fully-qualified type name is returned.
56		May be empty.
57	 */
58	[property] string TypeName;
59
60
61	/** gets a column's number of decimal digits.
62	 */
63	[property] long Precision;
64
65
66	/** gets a column's number of digits to right of the decimal point.
67	 */
68	[property] long Scale;
69
70
71	/** indicates the nullability of values in the designated column.
72		@see com::sun::star::sdbc::ColumnValue
73	 */
74	[property] long IsNullable;
75
76
77	/** indicates whether the column is automatically numbered, thus read-only.
78		@see com::sun::star::sdbc::ColumnValue
79	 */
80	[property] boolean IsAutoIncrement;
81
82
83	/** indicates that the column contains some kind of time or date stamp
84		used to track updates.
85	 */
86	[optional, property] boolean IsRowVersion;
87
88
89	/** keeps a description of the object.
90	 */
91	[optional, property] string Description;
92
93
94	/** keeps a default value for a column, is provided as string.
95	 */
96	[optional, property] string DefaultValue;
97
98	/** specifies how to create an autoincrement column.
99	 */
100	[optional, property] string AutoIncrementCreation;
101};
102
103//=============================================================================
104
105}; }; }; };
106
107#endif
108