/************************************************************************* * * $RCSfile: XDatabaseMetaData.idl,v $ * * $Revision: 1.2 $ * * last change: $Author: mi $ $Date: 2000-11-06 13:16:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses * * - GNU Lesser General Public License Version 2.1 * - Sun Industry Standards Source License Version 1.1 * * Sun Microsystems Inc., October, 2000 * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2000 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Sun Industry Standards Source License Version 1.1 * ================================================= * The contents of this file are subject to the Sun Industry Standards * Source License Version 1.1 (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.openoffice.org/license.html. * * Software provided under this License is provided on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. * See the License for the specific provisions governing your rights and * obligations concerning the Software. * * The Initial Developer of the Original Code is: Sun Microsystems, Inc. * * Copyright: 2000 by Sun Microsystems, Inc. * * All Rights Reserved. * * Contributor(s): _______________________________________ * * ************************************************************************/ #ifndef __com_sun_star_sdbc_XDatabaseMetaData_idl__ #define __com_sun_star_sdbc_XDatabaseMetaData_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 { interface XResultSet; interface XConnection; // DocMerge from xml: interface com::sun::star::sdbc::XDatabaseMetaData /** provides comprehensive information about the database as a whole.

Many of the methods here return lists of information in the form of XResultSet objects. You can use the normal XResultSet methods such as getString and getInt to retrieve the data from these XResultSets. If a given form of metadata is not available, these methods should throw a SQLException.

Some of these methods take arguments that are String patterns. These arguments all have names such as fooPattern. Within a pattern String, "%" means match any substring of 0 or more characters, and "_" means match any one character. Only metadata entries matching the search pattern are returned. If a search pattern argument is set to a null ref, that argument's criteria will be dropped from the search.

A SQLException will be thrown if a driver does not support a meta data method. In the case of methods that return an XResultSet, either an XResultSet (which may be empty) is returned or a SQLException is thrown.

*/ [ uik(D6B6024B-9067-11d3-9EE00010-5AD7A5C4), ident("XDatabaseMetaData", 1.0) ] interface XDatabaseMetaData: com::sun::star::uno::XInterface { // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::allProceduresAreCallable /** Can all the procedures returned by getProcedures be called by the current user? */ [const] boolean allProceduresAreCallable() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::allTablesAreSelectable /** Can all the tables returned by getTable be SELECTed by the current user? */ [const] boolean allTablesAreSelectable() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getURL /** returns the directory and filename of the database. */ [const] string getURL() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getUserName /** returns the user name from this database connection. */ [const] string getUserName() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::isReadOnly /** check, if the database in read-only mode. */ [const] boolean isReadOnly() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::nullsAreSortedHigh /** Are NULL values sorted high ? */ [const] boolean nullsAreSortedHigh() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::nullsAreSortedLow /** Are NULL values sorted low ? */ [const] boolean nullsAreSortedLow() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::nullsAreSortedAtStart /** Are NULL values sorted at the start regardless of sort order? */ [const] boolean nullsAreSortedAtStart() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::nullsAreSortedAtEnd /** Are NULL values sorted at the end regardless of sort order? */ [const] boolean nullsAreSortedAtEnd() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDatabaseProductName /** returns the name of the database product. */ [const] string getDatabaseProductName() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDatabaseProductVersion /** returns the version of the database product. */ [const] string getDatabaseProductVersion() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDriverName /** returns the name of the SDBC driver. */ [const] string getDriverName() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDriverVersion /** returns the version number of the SDBC driver. */ [const] string getDriverVersion() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDriverMajorVersion /** returns the JDBC driver major version number. */ [const] long getDriverMajorVersion(); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDriverMinorVersion /** returns the SDBC driver minor version number. */ [const] long getDriverMinorVersion(); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::usesLocalFiles /** use the database local files to save the tables. */ [const] boolean usesLocalFiles() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::usesLocalFilePerTable /** use the database one local file to save for each table. */ [const] boolean usesLocalFilePerTable() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsMixedCaseIdentifiers /** use the database 'mixed case unquoted SQL identifiers' case sensitive. */ [const] boolean supportsMixedCaseIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::storesUpperCaseIdentifiers /** Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in upper case? */ [const] boolean storesUpperCaseIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::storesLowerCaseIdentifiers /** Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in lower case? */ [const] boolean storesLowerCaseIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::storesMixedCaseIdentifiers /** Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in mixed case? */ [const] boolean storesMixedCaseIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsMixedCaseQuotedIdentifiers /** Does the database treat mixed case quoted SQL identifiers as case sensitive and as a result store them in mixed case? */ [const] boolean supportsMixedCaseQuotedIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::storesUpperCaseQuotedIdentifiers /** Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in upper case? */ [const] boolean storesUpperCaseQuotedIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::storesLowerCaseQuotedIdentifiers /** Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in lower case? */ [const] boolean storesLowerCaseQuotedIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::storesMixedCaseQuotedIdentifiers /** Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in mixed case? */ [const] boolean storesMixedCaseQuotedIdentifiers() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getIdentifierQuoteString /** What's the string used to quote SQL identifiers? This returns a space " " if identifier quoting isn't supported. */ [const] string getIdentifierQuoteString() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getSQLKeywords /** Gets a comma-separated list of all a database's SQL keywords that are NOT also SQL92 keywords. */ [const] string getSQLKeywords() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getNumericFunctions /** Gets a comma-separated list of math functions. These are the X/Open CLI math function names used in the SDBC function escape clause. */ [const] string getNumericFunctions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getStringFunctions /** Gets a comma-separated list of string functions. These are the X/Open CLI string function names used in the SDBC function escape clause. */ [const] string getStringFunctions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getSystemFunctions /** Gets a comma-separated list of system functions. These are the X/Open CLI system function names used in the SDBC function escape clause. */ [const] string getSystemFunctions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getTimeDateFunctions /** Gets a comma-separated list of time and date functions. */ [const] string getTimeDateFunctions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getSearchStringEscape /** Gets the string that can be used to escape wildcard characters. This is the string that can be used to escape '_' or '%' in the string pattern style catalog search parameters.

The '_' character represents any single character.

The '%' character represents any sequence of zero or more characters.

*/ [const] string getSearchStringEscape() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getExtraNameCharacters /** Gets all the "extra" characters that can be used in unquoted identifier names (those beyond a-z, A-Z, 0-9 and _). */ [const] string getExtraNameCharacters() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsAlterTableWithAddColumn /** support the Database "ALTER TABLE" with add column ? */ [const] boolean supportsAlterTableWithAddColumn() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsAlterTableWithDropColumn /** support the Database "ALTER TABLE" with drop column ? */ [const] boolean supportsAlterTableWithDropColumn() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsColumnAliasing /** support the Database column aliasing ?

The SQL AS clause can be used to provide names for computed columns or to provide alias names for columns as required.

*/ [const] boolean supportsColumnAliasing() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::nullPlusNonNullIsNull /** are concatenations between NULL and non-NULL values NULL? */ [const] boolean nullPlusNonNullIsNull() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsTypeConversion /** Support the Database the CONVERT function between SQL types ? */ [const] boolean supportsTypeConversion() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsConvert /** Support the Database the CONVERT between the given SQL types ? */ [const] boolean supportsConvert([in]long fromType, [in]long toType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsTableCorrelationNames /** Are table correlation names supported? */ [const] boolean supportsTableCorrelationNames() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsDifferentTableCorrelationNames /** If table correlation names are supported, are they restricted to be different from the names of the tables? */ [const] boolean supportsDifferentTableCorrelationNames() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsExpressionsInOrderBy /** Are expressions in "ORDER BY" lists supported? */ [const] boolean supportsExpressionsInOrderBy() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsOrderByUnrelated /** Can an "ORDER BY" clause use columns not in the SELECT statement? */ [const] boolean supportsOrderByUnrelated() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsGroupBy /** Is some form of "GROUP BY" clause supported? */ [const] boolean supportsGroupBy() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsGroupByUnrelated /** Can a "GROUP BY" clause use columns not in the SELECT? */ [const] boolean supportsGroupByUnrelated() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsGroupByBeyondSelect /** Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the columns in the SELECT? */ [const] boolean supportsGroupByBeyondSelect() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsLikeEscapeClause /** Is the escape character in "LIKE" clauses supported? */ [const] boolean supportsLikeEscapeClause() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsMultipleResultSets /** Are multiple XResultSets from a single execute supported? */ [const] boolean supportsMultipleResultSets() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsMultipleTransactions /** Can we have multiple transactions open at once (on different connections)? */ [const] boolean supportsMultipleTransactions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsNonNullableColumns /** Can columns be defined as non-nullable? */ [const] boolean supportsNonNullableColumns() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsMinimumSQLGrammar /** support the Database ODBC Minimum SQL grammar ? */ [const] boolean supportsMinimumSQLGrammar() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCoreSQLGrammar /** support the Database ODBC Core SQL grammar ? */ [const] boolean supportsCoreSQLGrammar() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsExtendedSQLGrammar /** support the Database ODBC Extended SQL grammar ? */ [const] boolean supportsExtendedSQLGrammar() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsANSI92EntryLevelSQL /** support the Database ANSI92 entry level SQL grammar ? */ [const] boolean supportsANSI92EntryLevelSQL() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsANSI92IntermediateSQL /** Support the Database ANSI92 intermediate SQL grammar ? */ [const] boolean supportsANSI92IntermediateSQL() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsANSI92FullSQL /** Support the Database ANSI92 full SQL grammar ? */ [const] boolean supportsANSI92FullSQL() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsIntegrityEnhancementFacility /** support the Database SQL Integrity Enhancement Facility ? */ [const] boolean supportsIntegrityEnhancementFacility() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsOuterJoins /** Is some form of outer join supported? */ [const] boolean supportsOuterJoins() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsFullOuterJoins /** Are full nested outer joins supported? */ [const] boolean supportsFullOuterJoins() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsLimitedOuterJoins /** Is there limited support for outer joins? (This will be true if supportFullOuterJoins is true.) */ [const] boolean supportsLimitedOuterJoins() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getSchemaTerm /** return the database vendor's preferred term for "schema" */ [const] string getSchemaTerm() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getProcedureTerm /** return the database vendor's preferred term for "procedure" */ [const] string getProcedureTerm() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getCatalogTerm /** return the database vendor's preferred term for "catalog" */ [const] string getCatalogTerm() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::isCatalogAtStart /** Does a catalog appear at the start of a qualified table name? (Otherwise it appears at the end) */ [const] boolean isCatalogAtStart() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getCatalogSeparator /** return the separator between catalog and table name */ [const] string getCatalogSeparator() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSchemasInDataManipulation /** Can a schema name be used in a data manipulation statement? */ [const] boolean supportsSchemasInDataManipulation() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSchemasInProcedureCalls /** Can a schema name be used in a procedure call statement? */ [const] boolean supportsSchemasInProcedureCalls() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSchemasInTableDefinitions /** Can a schema name be used in a table definition statement? */ [const] boolean supportsSchemasInTableDefinitions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSchemasInIndexDefinitions /** Can a schema name be used in an index definition statement? */ [const] boolean supportsSchemasInIndexDefinitions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSchemasInPrivilegeDefinitions /** Can a schema name be used in a privilege definition statement? */ [const] boolean supportsSchemasInPrivilegeDefinitions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCatalogsInDataManipulation /** Can a catalog name be used in a data manipulation statement? */ [const] boolean supportsCatalogsInDataManipulation() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCatalogsInProcedureCalls /** Can a catalog name be used in a procedure call statement? */ [const] boolean supportsCatalogsInProcedureCalls() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCatalogsInTableDefinitions /** Can a catalog name be used in a table definition statement? */ [const] boolean supportsCatalogsInTableDefinitions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCatalogsInIndexDefinitions /** Can a catalog name be used in an index definition statement? */ [const] boolean supportsCatalogsInIndexDefinitions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCatalogsInPrivilegeDefinitions /** Can a catalog name be used in a privilege definition statement? */ [const] boolean supportsCatalogsInPrivilegeDefinitions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsPositionedDelete /** Is positioned DELETE supported? */ [const] boolean supportsPositionedDelete() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsPositionedUpdate /** Is positioned UPDATE supported? */ [const] boolean supportsPositionedUpdate() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSelectForUpdate /** Is SELECT for UPDATE supported? */ [const] boolean supportsSelectForUpdate() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsStoredProcedures /** Are stored procedure calls using the stored procedure escape syntax supported? */ [const] boolean supportsStoredProcedures() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSubqueriesInComparisons /** Are subqueries in comparison expressions supported? */ [const] boolean supportsSubqueriesInComparisons() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSubqueriesInExists /** Are subqueries in 'exists' expressions supported? */ [const] boolean supportsSubqueriesInExists() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSubqueriesInIns /** Are subqueries in 'in' statements supported? */ [const] boolean supportsSubqueriesInIns() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsSubqueriesInQuantifieds /** Are subqueries in quantified expressions supported? */ [const] boolean supportsSubqueriesInQuantifieds() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsCorrelatedSubqueries /** Are correlated subqueries supported? */ [const] boolean supportsCorrelatedSubqueries() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsUnion /** Is SQL UNION supported? */ [const] boolean supportsUnion() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsUnionAll /** Is SQL UNION ALL supported? */ [const] boolean supportsUnionAll() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsOpenCursorsAcrossCommit /** Can cursors remain open across commits? */ [const] boolean supportsOpenCursorsAcrossCommit() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsOpenCursorsAcrossRollback /** Can cursors remain open across rollbacks? */ [const] boolean supportsOpenCursorsAcrossRollback() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsOpenStatementsAcrossCommit /** Can statements remain open across commits? */ [const] boolean supportsOpenStatementsAcrossCommit() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsOpenStatementsAcrossRollback /** Can statements remain open across rollbacks? */ [const] boolean supportsOpenStatementsAcrossRollback() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxBinaryLiteralLength /** return the maximal number of hex characters in an inline binary literal */ [const] long getMaxBinaryLiteralLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxCharLiteralLength /** return the max length for a character literal */ [const] long getMaxCharLiteralLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxColumnNameLength /** return the limit on column name length */ [const] long getMaxColumnNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxColumnsInGroupBy /** return the maximum number of columns in a "GROUP BY" clause */ [const] long getMaxColumnsInGroupBy() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxColumnsInIndex /** return the maximum number of columns allowed in an index */ [const] long getMaxColumnsInIndex() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxColumnsInOrderBy /** return the maximum number of columns in an "ORDER BY" clause */ [const] long getMaxColumnsInOrderBy() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxColumnsInSelect /** return the maximum number of columns in a "SELECT" list */ [const] long getMaxColumnsInSelect() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxColumnsInTable /** return the maximum number of columns in a table */ [const] long getMaxColumnsInTable() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxConnections /** return the number of active connections at a time to this database. */ [const] long getMaxConnections() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxCursorNameLength /** return the maximum cursor name length */ [const] long getMaxCursorNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxIndexLength /** return the maximum length of an index (in bytes) */ [const] long getMaxIndexLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxSchemaNameLength /** return the maximum length allowed for a schema name */ [const] long getMaxSchemaNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxProcedureNameLength /** return the maximum length of a procedure name */ [const] long getMaxProcedureNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxCatalogNameLength /** return the maximum length of a catalog name */ [const] long getMaxCatalogNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxRowSize /** return the maximum length of a single row. */ [const] long getMaxRowSize() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::doesMaxRowSizeIncludeBlobs /** Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY blobs? */ [const] boolean doesMaxRowSizeIncludeBlobs() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxStatementLength /** return the maximum length of a SQL statement */ [const] long getMaxStatementLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxStatements /** return the maximal number of open active statements at one time to this database */ [const] long getMaxStatements() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxTableNameLength /** return the maximum length of a table name */ [const] long getMaxTableNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxTablesInSelect /** return the maximum number of tables in a SELECT statement */ [const] long getMaxTablesInSelect() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getMaxUserNameLength /** return the maximum length of a user name */ [const] long getMaxUserNameLength() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getDefaultTransactionIsolation /** return the database default transaction isolation level. The values are defined in TransactionIsolation.@see com::sun::star::sdbc::XConnection */ [const] long getDefaultTransactionIsolation() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsTransactions /** support the Database transactions ? If not, invoking the method commit is a noop and the isolation level is TransactionIsolation_NONE. */ [const] boolean supportsTransactions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsTransactionIsolationLevel /** Does this database support the given transaction isolation level?@see com::sun::star::sdbc::Connection */ [const] boolean supportsTransactionIsolationLevel([in]long level) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions /** support the Database both data definition and data manipulation statements within a transaction? */ [const] boolean supportsDataDefinitionAndDataManipulationTransactions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsDataManipulationTransactionsOnly /** are only data manipulation statements within a transaction supported? */ [const] boolean supportsDataManipulationTransactionsOnly() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::dataDefinitionCausesTransactionCommit /** does a data definition statement within a transaction force the transaction to commit? */ [const] boolean dataDefinitionCausesTransactionCommit() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::dataDefinitionIgnoredInTransactions /** is a data definition statement within a transaction ignored? */ [const] boolean dataDefinitionIgnoredInTransactions() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getProcedures /** Gets a description of the stored procedures available in a catalog.

Only procedure descriptions matching the schema and procedure name criteria are returned. They are ordered by PROCEDURE_SCHEM, and PROCEDURE_NAME.

Each procedure description has the the following columns:

  1. PROCEDURE_CAT string => procedure catalog (may be null)
  2. PROCEDURE_SCHEM string => procedure schema (may be null)
  3. PROCEDURE_NAME string => procedure name
  4. reserved for future use
  5. reserved for future use
  6. reserved for future use
  7. REMARKS string => explanatory comment on the procedure
  8. PROCEDURE_TYPE short => kind of procedure:
    • UNKNOWN - May return a result
    • NO - Does not return a result
    • RETURN - Returns a result
*/ XResultSet getProcedures([in]any catalog, [in]string schemaPattern, [in]string procedureNamePattern) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getProcedureColumns /** gets a description of a catalog's stored procedure parameters and result columns.

Only descriptions matching the schema, procedure and parameter name criteria are returned. They are ordered by PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value, if any, is first. Next are the parameter descriptions in call order. The column descriptions follow in column number order.

Each row in the XResultSet is a parameter description or column description with the following fields:

  1. PROCEDURE_CAT string => procedure catalog (may be null)
  2. PROCEDURE_SCHEM string => procedure schema (may be null)
  3. PROCEDURE_NAME string => procedure name
  4. COLUMN_NAME string => column/parameter name
  5. COLUMN_TYPE Short => kind of column/parameter:
    • UNKNOWN - nobody knows
    • IN - IN parameter
    • INOUT - INOUT parameter
    • OUT - OUT parameter
    • RETURN - procedure return value
    • RESULT - result column in XResultSet
  6. DATA_TYPE short => SQL type from java.sql.Types
  7. TYPE_NAME string => SQL type name, for a UDT type the type name is fully qualified
  8. PRECISION long => precision
  9. LENGTH long => length in bytes of data
  10. SCALE short => scale
  11. RADIX short => radix
  12. NULLABLE short => can it contain NULL?
    • NO_NULLS - does not allow NULL values
    • NULLABLE - allows NULL values
    • NULLABLE_UNKNOWN - nullability unknown
  13. REMARKS string => comment describing parameter/column

Note: Some databases may not return the column descriptions for a procedure. Additional columns beyond REMARKS can be defined by the database.

*/ XResultSet getProcedureColumns([in]any catalog, [in]string schemaPattern, [in]string procedureNamePattern, [in]string columnNamePattern) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getTables /** gets a description of tables available in a catalog.

Only table descriptions matching the catalog, schema, table name and type criteria are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.

Each table description has the following columns:

  1. TABLE_CAT string => table catalog (may be null)
  2. TABLE_SCHEM string => table schema (may be null)
  3. TABLE_NAME string => table name
  4. TABLE_TYPE string => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
  5. REMARKS string => explanatory comment on the table

Note: Some databases may not return information for all tables.

*/ XResultSet getTables([in]any catalog, [in]string schemaPattern, [in]string tableNamePattern, [in]sequence types) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getSchemas /** Gets the schema names available in this database. The results are ordered by schema name.

The schema column is:

  1. TABLE_SCHEM string => schema name
*/ XResultSet getSchemas() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getCatalogs /** gets the catalog names available in this database. The results are ordered by catalog name.

The catalog column is:

  1. TABLE_CAT string => catalog name
*/ XResultSet getCatalogs() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getTableTypes /** gets the table types available in this database. The results are ordered by table type.

The table type is:

  1. TABLE_TYPE string => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
*/ XResultSet getTableTypes() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getColumns /** gets a description of table columns available in the specified catalog.

Only column descriptions matching the catalog, schema, table and column name criteria are returned. They are ordered by TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION.

Each column description has the following columns:

  1. TABLE_CAT string => table catalog (may be null)
  2. TABLE_SCHEM string => table schema (may be null)
  3. TABLE_NAME string => table name
  4. COLUMN_NAME string => column name
  5. DATA_TYPE short => SQL type from java.sql.Types
  6. TYPE_NAME string => Data source dependent type name, for a UDT the type name is fully qualified
  7. COLUMN_SIZE long => column size. For char or date types this is the maximum number of characters, for numeric or decimal types this is precision.
  8. BUFFER_LENGTH is not used.
  9. DECIMAL_DIGITS long => the number of fractional digits
  10. NUM_PREC_RADIX long => Radix (typically either 10 or 2)
  11. NULLABLE long => is NULL allowed?
    • NO_NULLS - might not allow NULL values
    • NULABLE - definitely allows NULL values
    • NULLABLE_UNKNOWN - nullability unknown
  12. REMARKS string => comment describing column (may be null)
  13. COLUMN_DEF string => default value (may be null)
  14. SQL_DATA_TYPE long => unused
  15. SQL_DATETIME_SUB long => unused
  16. CHAR_OCTET_LENGTH long => for char types the maximum number of bytes in the column
  17. ORDINAL_POSITION int => index of column in table (starting at 1)
  18. IS_NULLABLE string => "NO" means column definitely does not allow NULL values; "YES" means the column might allow NULL values. An empty string means nobody knows.
*/ XResultSet getColumns([in]any catalog, [in]string schemaPattern, [in]string tableNamePattern, [in]string columnNamePattern) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getColumnPrivileges /** gets a description of the access rights for a table's columns.

Only privileges matching the column name criteria are returned. They are ordered by COLUMN_NAME and PRIVILEGE.

Each privilige description has the following columns:

  1. TABLE_CAT string => table catalog (may be null)
  2. TABLE_SCHEM string => table schema (may be null)
  3. TABLE_NAME string => table name
  4. COLUMN_NAME string => column name
  5. GRANTOR => grantor of access (may be null)
  6. GRANTEE string => grantee of access
  7. PRIVILEGE string => name of access (SELECT, INSERT, UPDATE, REFERENCES, ...)
  8. IS_GRANTABLE string => "YES" if grantee is permitted to grant to others; "NO" if not; null if unknown
*/ XResultSet getColumnPrivileges([in]any catalog, [in]string schema, [in]string table, [in]string columnNamePattern) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getTablePrivileges /** gets a description of the access rights for each table available in a catalog. Note that a table privilege applies to one or more columns in the table. It would be wrong to assume that this priviledge applies to all columns (this may be true for some systems but is not true for all.)

Only privileges matching the schema and table name criteria are returned. They are ordered by TABLE_SCHEM, TABLE_NAME, and PRIVILEGE.

Each privilige description has the following columns:

  1. TABLE_CAT string => table catalog (may be null)
  2. TABLE_SCHEM string => table schema (may be null)
  3. TABLE_NAME string => table name
  4. GRANTOR => grantor of access (may be null)
  5. GRANTEE string => grantee of access
  6. PRIVILEGE string => name of access (SELECT, INSERT, UPDATE, REFERENCES, ...)
  7. IS_GRANTABLE string => "YES" if grantee is permitted to grant to others; "NO" if not; null if unknown
*/ XResultSet getTablePrivileges([in]any catalog, [in]string schemaPattern, [in]string tableNamePattern) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getBestRowIdentifier /** gets a description of a table's optimal set of columns that uniquely identifies a row. They are ordered by SCOPE.

Each column description has the following columns:

  1. SCOPE short => actual scope of result
    • TEMPORARY - very temporary, while using row
    • TRANSACTION - valid for remainder of current transaction
    • SESSION - valid for remainder of current session
  2. COLUMN_NAME string => column name
  3. DATA_TYPE short => SQL data type from java.sql.Types
  4. TYPE_NAME string => Data source dependent type name, for a UDT the type name is fully qualified
  5. COLUMN_SIZE long => precision
  6. BUFFER_LENGTH long => not used
  7. DECIMAL_DIGITS short => scale
  8. PSEUDO_COLUMN short => is this a pseudo column like an Oracle ROWID
    • UNKNOWN - may or may not be pseudo column
    • NOT_PSEUDO - is NOT a pseudo column
    • PSEUDO - is a pseudo column
*/ XResultSet getBestRowIdentifier([in]any catalog, [in]string schema, [in]string table, [in]long scope, [in] boolean nullable) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getVersionColumns /** gets a description of a table's columns that are automatically updated when any value in a row is updated. They are unordered.

Each column description has the following columns:

  1. SCOPE short => is not used
  2. COLUMN_NAME string => column name
  3. DATA_TYPE short => SQL data type from java.sql.Types
  4. TYPE_NAME string => Data source dependent type name
  5. COLUMN_SIZE long => precision
  6. BUFFER_LENGTH long => length of column value in bytes
  7. DECIMAL_DIGITS short => scale
  8. PSEUDO_COLUMN short => is this a pseudo column like an Oracle ROWID
    • UNKNOWN - may or may not be pseudo column
    • NOT_PSEUDO - is NOT a pseudo column
    • PSEUDO - is a pseudo column
*/ XResultSet getVersionColumns([in]any catalog, [in]string schema, [in]string table) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getPrimaryKeys /** gets a description of a table's primary key columns. They are ordered by COLUMN_NAME.

Each primary key column description has the following columns:

  1. TABLE_CAT string => table catalog (may be null)
  2. TABLE_SCHEM string => table schema (may be null)
  3. TABLE_NAME string => table name
  4. COLUMN_NAME string => column name
  5. KEY_SEQ short => sequence number within primary key
  6. PK_NAME string => primary key name (may be null)
*/ XResultSet getPrimaryKeys([in]any catalog, [in]string schema, [in]string table) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getImportedKeys /** gets a description of the primary key columns that are referenced by a table's foreign key columns (the primary keys imported by a table). They are ordered by PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.

Each primary key column description has the following columns:

  1. PKTABLE_CAT string => primary key table catalog being imported (may be null)
  2. PKTABLE_SCHEM string => primary key table schema being imported (may be null)
  3. PKTABLE_NAME string => primary key table name being imported
  4. PKCOLUMN_NAME string => primary key column name eing imported
  5. FKTABLE_CAT string => foreign key table catalog (may be null)
  6. FKTABLE_SCHEM string => foreign key table schema (may be null)
  7. FKTABLE_NAME string => foreign key table name
  8. FKCOLUMN_NAME string => foreign key column name
  9. KEY_SEQ short => sequence number within foreign key
  10. UPDATE_RULE short => What happens to foreign key when primary is updated:
    • importedNoAction - do not allow update of primary key if it has been imported
    • importedKeyCascade - change imported key to agree with primary key update
    • importedKeySetNull - change imported key to NULL if its primary key has been updated
    • importedKeySetDefault - change imported key to default values if its primary key has been updated
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
  11. DELETE_RULE short => What happens to the foreign key when primary is deleted.
    • importedKeyNoAction - do not allow delete of primary key if it has been imported
    • importedKeyCascade - delete rows that import a deleted key
    • importedKeySetNull - change imported key to NULL if its primary key has been deleted
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
    • importedKeySetDefault - change imported key to default if its primary key has been deleted
  12. FK_NAME string => foreign key name (may be null)
  13. PK_NAME string => primary key name (may be null)
  14. DEFERRABILITY short => can the evaluation of foreign key constraints be deferred until commit
    • importedKeyInitiallyDeferred - see SQL92 for definition
    • importedKeyInitiallyImmediate - see SQL92 for definition
    • importedKeyNotDeferrable - see SQL92 for definition
*/ XResultSet getImportedKeys([in]any catalog, [in]string schema, [in]string table) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getExportedKeys /** gets a description of the foreign key columns that reference a table's primary key columns (the foreign keys exported by a table). They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.

Each foreign key column description has the following columns:

  1. PKTABLE_CAT string => primary key table catalog (may be null)
  2. PKTABLE_SCHEM string => primary key table schema (may be null)
  3. PKTABLE_NAME string => primary key table name
  4. PKCOLUMN_NAME string => primary key column name
  5. FKTABLE_CAT string => foreign key table catalog (may be null) being exported (may be null)
  6. FKTABLE_SCHEM string => foreign key table schema (may be null) being exported (may be null)
  7. FKTABLE_NAME string => foreign key table name being exported
  8. FKCOLUMN_NAME string => foreign key column name being exported
  9. KEY_SEQ short => sequence number within foreign key
  10. UPDATE_RULE short => What happens to foreign key when primary is updated:
    • NO_ACTION - do not allow update of primary key if it has been imported
    • CASCADE - change imported key to agree with primary key update
    • SET_NULL - change imported key to NULL if its primary key has been updated
    • SET_DEFAULT - change imported key to default values if its primary key has been updated
    • RESTRICT - same as importedKeyNoAction (for ODBC 2.x compatibility)
  11. DELETE_RULE short => What happens to the foreign key when primary is deleted.
    • NO_ACTION - do not allow delete of primary key if it has been imported
    • CASCADE - delete rows that import a deleted key
    • SET_NULL - change imported key to NULL if its primary key has been deleted
    • RESTRICT - same as importedKeyNoAction (for ODBC 2.x compatibility)
    • SET_DEFAULT - change imported key to default if its primary key has been deleted
  12. FK_NAME string => foreign key name (may be null)
  13. PK_NAME string => primary key name (may be null)
  14. DEFERRABILITY short => can the evaluation of foreign key constraints be deferred until commit
    • INITIALLY_DEFERRED - see SQL92 for definition
    • INITIALLY_IMMEDIATE - see SQL92 for definition
    • NONE - see SQL92 for definition
*/ XResultSet getExportedKeys([in]any catalog, [in]string schema, [in]string table) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getCrossReference /** gets a description of the foreign key columns in the foreign key table that reference the primary key columns of the primary key table (describe how one table imports another's key.) This should normally return a single foreign key/primary key pair (most tables only import a foreign key from a table once.) They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.

Each foreign key column description has the following columns:

  1. PKTABLE_CAT string => primary key table catalog (may be null)
  2. PKTABLE_SCHEM string => primary key table schema (may be null)
  3. PKTABLE_NAME string => primary key table name
  4. PKCOLUMN_NAME string => primary key column name
  5. FKTABLE_CAT string => foreign key table catalog (may be null) being exported (may be null)
  6. FKTABLE_SCHEM string => foreign key table schema (may be null) being exported (may be null)
  7. FKTABLE_NAME string => foreign key table name being exported
  8. FKCOLUMN_NAME string => foreign key column name being exported
  9. KEY_SEQ short => sequence number within foreign key
  10. UPDATE_RULE short => What happens to foreign key when primary is updated:
    • NO_ACTION - do not allow update of primary key if it has been imported
    • CASCADE - change imported key to agree with primary key update
    • SET_NULL - change imported key to NULL if its primary key has been updated
    • SET_DEFAULT - change imported key to default values if its primary key has been updated
    • RESTRICT - same as importedKeyNoAction (for ODBC 2.x compatibility)
  11. DELETE_RULE short => What happens to the foreign key when primary is deleted.
    • NO_ACTION - do not allow delete of primary key if it has been imported
    • CASCADE - delete rows that import a deleted key
    • SET_NULL - change imported key to NULL if its primary key has been deleted
    • RESTRICT - same as importedKeyNoAction (for ODBC 2.x compatibility)
    • SET_DEFAULT - change imported key to default if its primary key has been deleted
  12. FK_NAME string => foreign key name (may be null)
  13. PK_NAME string => primary key name (may be null)
  14. DEFERRABILITY short => can the evaluation of foreign key constraints be deferred until commit
    • INITIALLY_DEFERRED - see SQL92 for definition
    • INITIALLY_IMMEDIATE - see SQL92 for definition
    • NONE - see SQL92 for definition
*/ XResultSet getCrossReference( [in]any primaryCatalog, [in]string primarySchema, [in]string primaryTable, [in]any foreignCatalog, [in]string foreignSchema, [in]string foreignTable) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getTypeInfo /** gets a description of all the standard SQL types supported by this database. They are ordered by DATA_TYPE and then by how closely the data type maps to the corresponding SDBC SQL type.

Each type description has the following columns:

  1. TYPE_NAME string => Type name
  2. DATA_TYPE short => SQL data type from java.sql.Types
  3. PRECISION long => maximum precision
  4. LITERAL_PREFIX string => prefix used to quote a literal (may be null)
  5. LITERAL_SUFFIX string => suffix used to quote a literal (may be null)
  6. CREATE_PARAMS string => parameters used in creating the type (may be null)
  7. NULLABLE short => can you use NULL for this type?
    • NO_NULLS - does not allow NULL values
    • NULLABLE - allows NULL values
    • NULLABLE_UNKNOWN - nullability unknown
  8. CASE_SENSITIVE boolean=> is it case sensitive?
  9. SEARCHABLE short => can you use "WHERE" based on this type:
    • NONE - No support
    • CHAR - Only supported with WHERE .. LIKE
    • BASIC - Supported except for WHERE .. LIKE
    • FULL - Supported for all WHERE ..
  10. UNSIGNED_ATTRIBUTE [const] boolean => is it unsigned?
  11. FIXED_PREC_SCALE [const] boolean => can it be a money value?
  12. AUTO_INCREMENT [const] boolean => can it be used for an auto-increment value?
  13. LOCAL_TYPE_NAME string => localized version of type name (may be null)
  14. MINIMUM_SCALE short => minimum scale supported
  15. MAXIMUM_SCALE short => maximum scale supported
  16. SQL_DATA_TYPE long => unused
  17. SQL_DATETIME_SUB long => unused
  18. NUM_PREC_RADIX long => usually 2 or 10
*/ XResultSet getTypeInfo() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getIndexInfo /** gets a description of a table's indices and statistics. They are ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.

Each index column description has the following columns:

  1. TABLE_CAT string => table catalog (may be null)
  2. TABLE_SCHEM string => table schema (may be null)
  3. TABLE_NAME string => table name
  4. NON_UNIQUE [const] boolean => Can index values be non-unique? false when TYPE is tableIndexStatistic
  5. INDEX_QUALIFIER string => index catalog (may be null); null when TYPE is tableIndexStatistic
  6. INDEX_NAME string => index name; null when TYPE is tableIndexStatistic
  7. TYPE short => index type:
    • 0 - this identifies table statistics that are returned in conjuction with a table's index descriptions
    • CLUSTERED - this is a clustered index
    • HASHED - this is a hashed index
    • OTHER - this is some other style of index
  8. ORDINAL_POSITION short => column sequence number within index; zero when TYPE is tableIndexStatistic
  9. COLUMN_NAME string => column name; null when TYPE is tableIndexStatistic
  10. ASC_OR_DESC string => column sort sequence, "A" => ascending, "D" => descending, may be null if sort sequence is not supported; null when TYPE is tableIndexStatistic
  11. CARDINALITY long => When TYPE is tableIndexStatistic, then this is the number of rows in the table; otherwise, it is the number of unique values in the index.
  12. PAGES long => When TYPE is tableIndexStatisic then this is the number of pages used for the table, otherwise it is the number of pages used for the current index.
  13. FILTER_CONDITION string => Filter condition, if any. (may be null)
*/ XResultSet getIndexInfo([in]any catalog, [in]string schema, [in]string table, [in]boolean unique, [in]boolean approximate) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsResultSetType /** Does the database support the given result set type? */ [const] boolean supportsResultSetType([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsResultSetConcurrency /** Does the database support the concurrency type in combination with the given result set type? */ [const] boolean supportsResultSetConcurrency([in]long setType, [in]long concurrency) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::ownUpdatesAreVisible /** indicates whether a result set's own updates are visible. */ [const] boolean ownUpdatesAreVisible([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::ownDeletesAreVisible /** indicates whether a result set's own deletes are visible. */ [const] boolean ownDeletesAreVisible([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::ownInsertsAreVisible /** indicates whether a result set's own inserts are visible. */ [const] boolean ownInsertsAreVisible([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::othersUpdatesAreVisible /** indicates whether updates made by others are visible. */ [const] boolean othersUpdatesAreVisible([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::othersDeletesAreVisible /** indicates whether deletes made by others are visible. */ [const] boolean othersDeletesAreVisible([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::othersInsertsAreVisible /** indicates whether inserts made by others are visible. */ [const] boolean othersInsertsAreVisible([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::updatesAreDetected /** indicates whether or not a visible row update can be detected by calling the method XResultSet.rowUpdated. */ [const] boolean updatesAreDetected([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::deletesAreDetected /** indicates whether or not a visible row delete can be detected by calling XResultSet.rowDeleted(). If deletesAreDetected() returns , then deleted rows are removed from the result set. */ [const] boolean deletesAreDetected([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::insertsAreDetected /** indicates whether or not a visible row insert can be detected by calling XResultSet.rowInserted(). */ [const] boolean insertsAreDetected([in]long setType) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::supportsBatchUpdates /** indicates whether the driver supports batch updates. */ [const] boolean supportsBatchUpdates() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getUDTs /** Gets a description of the user-defined types defined in a particular schema. Schema-specific UDTs may have type OBJECT, STRUCT, or DISTINCT.

Only types matching the catalog, schema, type name and type criteria are returned. They are ordered by DATA_TYPE, TYPE_SCHEM and TYPE_NAME. The type name parameter may be a fully-qualified name. In this case, the catalog and schemaPattern parameters are ignored.

Each type description has the following columns:

  1. TYPE_CAT string => the type's catalog (may be null)
  2. TYPE_SCHEM string => type's schema (may be null)
  3. TYPE_NAME string => type name
  4. CLASS_NAME string => Java class name or service name
  5. DATA_TYPE string => type value. One of OBJECT, STRUCT, or DISTINCT
  6. REMARKS string => explanatory comment on the type

Note: If the driver does not support UDTs, an empty result set is returned.

*/ XResultSet getUDTs([in]any catalog, [in]string schemaPattern, [in]string typeNamePattern, [in]sequence types) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::sdbc::XDatabaseMetaData::getConnection /** retrieves the connection that produced this metadata object. */ [const] XConnection getConnection() raises (SQLException); }; //============================================================================= }; }; }; }; /*=========================================================================== $Log: not supported by cvs2svn $ Revision 1.1.1.1 2000/09/18 23:35:42 hjs initial import Revision 1.8 2000/09/11 11:52:43 mi documentation merged from XML Revision 1.6 2000/04/27 12:01:58 dg #75348# wrong method names corrected Revision 1.5 2000/03/30 12:42:18 dg #74028# missing documentation completed Revision 1.4 2000/02/21 16:18:06 mi string documentation from stardiv...*.idl-files Revision 1.3 2000/02/07 11:24:52 mi zu #70728# missing documentation marked Revision 1.2 1999/11/26 16:52:45 dg change documentation Revision 1.1 1999/11/24 08:41:05 dg new StarDataBaseConnectivity ===========================================================================*/ #endif