/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_sdbc_XResultSetMetaData_idl__ #define __com_sun_star_sdbc_XResultSetMetaData_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_sdbc_SQLException_idl__ #include #endif module com { module sun { module star { module sdbc { /** can be used to find out about the types and properties of the columns in a ResultSet. */ published interface XResultSetMetaData: com::sun::star::uno::XInterface { /** returns the number of columns in this ResultSet. @returns the column count @throws SQLException if a database access error occurs. */ long getColumnCount() raises (SQLException); //------------------------------------------------------------------------- /** indicates whether the column is automatically numbered, thus read-only. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isAutoIncrement([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether a column's case matters. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isCaseSensitive([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether the column can be used in a where clause. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isSearchable([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether the column is a cash value. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isCurrency([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates the nullability of values in the designated column.@see com::sun::star::sdbc::ColumnValue @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ long isNullable([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether values in the column are signed numbers. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isSigned([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates the column's normal max width in chars. @param column the first column is 1, the second is 2, @returns the normal maximum number of characters allowed as the width of the designated column @throws SQLException if a database access error occurs. */ long getColumnDisplaySize([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets the suggested column title for use in printouts and displays. @param column the first column is 1, the second is 2, @returns the suggested column title @throws SQLException if a database access error occurs. */ string getColumnLabel([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets a column's name. @param column the first column is 1, the second is 2, @returns the column name @throws SQLException if a database access error occurs. */ string getColumnName([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets a column's table's schema. @param column the first column is 1, the second is 2, @returns the schema name @throws SQLException if a database access error occurs. */ string getSchemaName([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets a column's number of decimal digits. @param column the first column is 1, the second is 2, @returns precision @throws SQLException if a database access error occurs. */ long getPrecision([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets a column's number of digits to right of the decimal point. @param column the first column is 1, the second is 2, @returns scale @throws SQLException if a database access error occurs. */ long getScale([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets a column's table name. @param column the first column is 1, the second is 2, @returns the table name @throws SQLException if a database access error occurs. */ string getTableName([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** gets a column's table's catalog name. @param column the first column is 1, the second is 2, @returns the catalog name @throws SQLException if a database access error occurs. */ string getCatalogName([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** retrieves a column's SQL type. @param column the first column is 1, the second is 2, @returns the column type @throws SQLException if a database access error occurs. */ long getColumnType([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** retrieves a column's database-specific type name. @param column the first column is 1, the second is 2, @returns the type name @throws SQLException if a database access error occurs. */ string getColumnTypeName([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether a column is definitely not writable. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isReadOnly([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether it is possible for a write on the column to succeed. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isWritable([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** indicates whether a write on the column will definitely succeed. @param column the first column is 1, the second is 2, @returns if so @throws SQLException if a database access error occurs. */ boolean isDefinitelyWritable([in]long column) raises (SQLException); //------------------------------------------------------------------------- /** returns the fully-qualified name of the service whose instances are manufactured if the method XResultSet::.getObject() is called to retrieve a value from the column. @param column the first column is 1, the second is 2, @returns the service name @throws SQLException if a database access error occurs. */ string getColumnServiceName([in]long column) raises (SQLException); }; //============================================================================= }; }; }; }; /*=========================================================================== ===========================================================================*/ #endif