1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 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/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 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 . 18 */ 19#ifndef __com_sun_star_sdbcx_ColumnDescriptor_idl__ 20#define __com_sun_star_sdbcx_ColumnDescriptor_idl__ 21 22#include <com/sun/star/sdbcx/Descriptor.idl> 23 24 module com { module sun { module star { module sdbcx { 25 26 27/** describes the common properties of a database column. Could be used for the creation 28 of a database columns within a table. 29 @see com::sun::star::sdbcx::Column 30 @see com::sun::star::sdbcx::Table 31 */ 32published service ColumnDescriptor 33{ 34 service com::sun::star::sdbcx::Descriptor; 35 36 37 /** is the 38 com::sun::star::sdbc::DataType 39 of the column. 40 */ 41 [property] long Type; 42 43 44 /** is the type name used by the database. If the column type is 45 a user-defined type, then a fully-qualified type name is returned. 46 May be empty. 47 */ 48 [property] string TypeName; 49 50 51 /** gets a column's number of decimal digits. 52 */ 53 [property] long Precision; 54 55 56 /** gets a column's number of digits to right of the decimal point. 57 */ 58 [property] long Scale; 59 60 61 /** indicates the nullability of values in the designated column. 62 @see com::sun::star::sdbc::ColumnValue 63 */ 64 [property] long IsNullable; 65 66 67 /** indicates whether the column is automatically numbered, thus read-only. 68 @see com::sun::star::sdbc::ColumnValue 69 */ 70 [property] boolean IsAutoIncrement; 71 72 73 /** indicates that the column contains some kind of time or date stamp 74 used to track updates. 75 */ 76 [optional, property] boolean IsRowVersion; 77 78 79 /** keeps a description of the object. 80 */ 81 [optional, property] string Description; 82 83 84 /** keeps a default value for a column, is provided as string. 85 */ 86 [optional, property] string DefaultValue; 87 88 /** specifies how to create an auto-increment column. 89 */ 90 [optional, property] string AutoIncrementCreation; 91}; 92 93 94}; }; }; }; 95 96#endif 97 98/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 99