/offapi/com/sun/star/sdbc/XDatabaseMetaData.idl
https://bitbucket.org/markjenkins/libreoffice_ubuntu-debian-fixes · IDL · 2453 lines · 197 code · 159 blank · 2097 comment · 0 complexity · b8bf9ee063eae02d0787a8aef2d7855b MD5 · raw file
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * 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 .
- */
- #ifndef __com_sun_star_sdbc_XDatabaseMetaData_idl__
- #define __com_sun_star_sdbc_XDatabaseMetaData_idl__
- #include <com/sun/star/uno/XInterface.idl>
- #include <com/sun/star/sdbc/SQLException.idl>
- module com { module sun { module star { module sdbc {
- published interface XResultSet;
- published interface XConnection;
- /** provides comprehensive information about the database as a whole.
- <p>Many of the methods here return lists of information in
- the form of
- <type scope="com::sun::star::sdbc">XResultSet</type>
- objects.
- You can use the normal <type scope="com::sun::star::sdbc">XRow</type>
- (or <type scope="com::sun::star::sdb">XColumn</type>)
- methods such as
- <member scope="com::sun::star::sdbc">XRow::getString()</member>
- and
- <member scope="com::sun::star::sdbc">XRow::getInt()</member>
- to retrieve the data from these XResultSets. If a given form of
- metadata is not available, these methods should throw a
- <type scope="com::sun::star::sdbc">SQLException</type>
- .
- After calling one of the getXXX() methods,
- one can check whether that value is <NULL/>
- with the method <member scope="com::sun::star::sdbc">XRow::wasNull()</member>.
- In the text only "(may be <NULL/>)" is mentioned for this case.
- </p>
- <p>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 <VOID/>,
- that argument's criteria will be dropped from the search.
- </p>
- <p>
- A
- <type scope="com::sun::star::sdbc">SQLException</type>
- will be thrown if a driver does not support
- a metadata method. In the case of methods that return an XResultSet,
- either an XResultSet (which may be empty) is returned or a
- SQLException is thrown.</p>
- */
- published interface XDatabaseMetaData: com::sun::star::uno::XInterface
- {
- /** Can all the procedures returned by getProcedures be called by the
- current user?
- @return
- <TRUE/>
- if the user is allowed to call all procedures returned by getProcedures
- otherwise
- <FALSE/>
- .
- @throws SQLException
- if a database access error occurs.
- */
- boolean allProceduresAreCallable() raises (SQLException);
- /** Can all the tables returned by getTable be SELECTed by the
- current user?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean allTablesAreSelectable() raises (SQLException);
- /** returns the URL for the database connection
- */
- string getURL() raises (SQLException);
- /** returns the user name from this database connection.
- */
- string getUserName() raises (SQLException);
- /** checks if the database in read-only mode.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean isReadOnly() raises (SQLException);
- /** Are NULL values sorted high?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean nullsAreSortedHigh() raises (SQLException);
- /** Are NULL values sorted low?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean nullsAreSortedLow() raises (SQLException);
- /** Are NULL values sorted at the start regardless of sort order?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean nullsAreSortedAtStart() raises (SQLException);
- /** Are NULL values sorted at the end, regardless of sort order?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean nullsAreSortedAtEnd() raises (SQLException);
- /** returns the name of the database product.
- */
- string getDatabaseProductName() raises (SQLException);
- /** returns the version of the database product.
- */
- string getDatabaseProductVersion() raises (SQLException);
- /** returns the name of the SDBC driver.
- */
- string getDriverName() raises (SQLException);
- /** returns the version number of the SDBC driver.
- */
- string getDriverVersion() raises (SQLException);
- /** returns the SDBC driver major version number.
- */
- long getDriverMajorVersion();
- /** returns the SDBC driver minor version number.
- */
- long getDriverMinorVersion();
- /** use the database local files to save the tables.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean usesLocalFiles() raises (SQLException);
- /** use the database one local file to save for each table.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean usesLocalFilePerTable() raises (SQLException);
- /** use the database "mixed case unquoted SQL identifiers" case sensitive.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsMixedCaseIdentifiers() raises (SQLException);
- /** Does the database treat mixed case unquoted SQL identifiers as
- case insensitive and store them in upper case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean storesUpperCaseIdentifiers() raises (SQLException);
- /** Does the database treat mixed case unquoted SQL identifiers as
- case insensitive and store them in lower case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean storesLowerCaseIdentifiers() raises (SQLException);
- /** Does the database treat mixed case unquoted SQL identifiers as
- case insensitive and store them in mixed case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean storesMixedCaseIdentifiers() raises (SQLException);
- /** Does the database treat mixed case quoted SQL identifiers as
- case sensitive and as a result store them in mixed case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsMixedCaseQuotedIdentifiers() raises (SQLException);
- /** Does the database treat mixed case quoted SQL identifiers as
- case insensitive and store them in upper case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean storesUpperCaseQuotedIdentifiers() raises (SQLException);
- /** Does the database treat mixed case quoted SQL identifiers as
- case insensitive and store them in lower case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean storesLowerCaseQuotedIdentifiers() raises (SQLException);
- /** Does the database treat mixed case quoted SQL identifiers as
- case insensitive and store them in mixed case?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean storesMixedCaseQuotedIdentifiers() raises (SQLException);
- /** What's the string used to quote SQL identifiers?
- This returns a space " " if identifier quoting is not supported.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getIdentifierQuoteString() raises (SQLException);
- /** gets a comma-separated list of all a database's SQL keywords
- that are NOT also SQL92 keywords.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getSQLKeywords() raises (SQLException);
- /** gets a comma-separated list of math functions. These are the
- X/Open CLI math function names used in the SDBC function escape
- clause.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getNumericFunctions() raises (SQLException);
- /** gets a comma-separated list of string functions. These are the
- X/Open CLI string function names used in the SDBC function escape
- clause.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getStringFunctions() raises (SQLException);
- /** gets a comma-separated list of system functions. These are the
- X/Open CLI system function names used in the SDBC function escape
- clause.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getSystemFunctions() raises (SQLException);
- /** gets a comma-separated list of time and date functions.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getTimeDateFunctions() raises (SQLException);
- /** 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.
- <p>
- The "_" character represents any single character.
- </p>
- <p>
- The "%" character represents any sequence of zero or
- more characters.
- </p>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getSearchStringEscape() raises (SQLException);
- /** gets all the "extra" characters that can be used in unquoted
- identifier names (those beyond a-z, A-Z, 0-9 and _).
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getExtraNameCharacters() raises (SQLException);
- /** support the Database "ALTER TABLE" with add column?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsAlterTableWithAddColumn() raises (SQLException);
- /** support the Database "ALTER TABLE" with drop column?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsAlterTableWithDropColumn() raises (SQLException);
- /** support the Database column aliasing?
- <p>
- The SQL AS clause can be used to provide names for
- computed columns or to provide alias names for columns as required.
- </p>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsColumnAliasing() raises (SQLException);
- /** are concatenations between NULL and non-NULL values NULL?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean nullPlusNonNullIsNull() raises (SQLException);
- /** <TRUE/>
- , if the Database supports the CONVERT function between SQL types,
- otherwise
- <FALSE/>
- .
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsTypeConversion() raises (SQLException);
- /** <TRUE/>
- , if the Database supports the CONVERT between the given SQL types
- otherwise
- <FALSE/>
- .
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsConvert([in]long fromType, [in]long toType)
- raises (SQLException);
- /** Are table correlation names supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsTableCorrelationNames() raises (SQLException);
- /** If table correlation names are supported, are they restricted
- to be different from the names of the tables?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsDifferentTableCorrelationNames()
- raises (SQLException);
- /** Are expressions in "ORDER BY" lists supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsExpressionsInOrderBy() raises (SQLException);
- /** Can an "ORDER BY" clause use columns not in the SELECT statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsOrderByUnrelated() raises (SQLException);
- /** Is some form of "GROUP BY" clause supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsGroupBy() raises (SQLException);
- /** Can a "GROUP BY" clause use columns not in the SELECT?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsGroupByUnrelated() raises (SQLException);
- /** Can a "GROUP BY" clause add columns not in the SELECT
- provided it specifies all the columns in the SELECT?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsGroupByBeyondSelect() raises (SQLException);
- /** Is the escape character in "LIKE" clauses supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsLikeEscapeClause() raises (SQLException);
- /** Are multiple XResultSets from a single execute supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsMultipleResultSets() raises (SQLException);
- /** Can we have multiple transactions open at once (on different
- connections)?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsMultipleTransactions() raises (SQLException);
- /** Can columns be defined as non-nullable?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsNonNullableColumns() raises (SQLException);
- /** <TRUE/>, if the database supports ODBC Minimum SQL grammar,
- otherwise <FALSE/>.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsMinimumSQLGrammar() raises (SQLException);
- /** <TRUE/>, if the database supports ODBC Core SQL grammar,
- otherwise <FALSE/>.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCoreSQLGrammar() raises (SQLException);
- /**
- <TRUE/>, if the database supports ODBC Extended SQL grammar,
- otherwise <FALSE/>.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsExtendedSQLGrammar() raises (SQLException);
- /** @returns
- <TRUE/>, if the database supports ANSI92 entry level SQL grammar,
- otherwise <FALSE/>.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsANSI92EntryLevelSQL() raises (SQLException);
- /** @returns
- <TRUE/>, if the database supports ANSI92 intermediate SQL grammar,
- otherwise <FALSE/>.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsANSI92IntermediateSQL() raises (SQLException);
- /** @returns
- <TRUE/>, if the database supports ANSI92 full SQL grammar,
- otherwise <FALSE/>.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsANSI92FullSQL() raises (SQLException);
- /** returns
- <TRUE/>, if the Database supports SQL Integrity Enhancement Facility,
- otherwise <FALSE/>.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsIntegrityEnhancementFacility() raises (SQLException);
- /** @returns
- <TRUE/>, if some form of outer join is supported,
- otherwise <FALSE/>.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsOuterJoins() raises (SQLException);
- /** @returns
- <TRUE/>, if full nested outer joins are supported,
- otherwise <FALSE/>.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsFullOuterJoins() raises (SQLException);
- /** @returns
- <TRUE/>, if there is limited support for outer joins.
- (This will be <TRUE/> if supportFullOuterJoins is <TRUE/>.)
- <FALSE/> is returned otherwise.
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsLimitedOuterJoins() raises (SQLException);
- /** return the database vendor's preferred term for "schema"
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getSchemaTerm() raises (SQLException);
- /** return the database vendor's preferred term for "procedure"
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getProcedureTerm() raises (SQLException);
- /** return the database vendor's preferred term for "catalog"
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getCatalogTerm() raises (SQLException);
- /** Does a catalog appear at the start of a qualified table name?
- (Otherwise it appears at the end)
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean isCatalogAtStart() raises (SQLException);
- /** return the separator between catalog and table name
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- string getCatalogSeparator() raises (SQLException);
- /** Can a schema name be used in a data manipulation statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSchemasInDataManipulation() raises (SQLException);
- /** Can a schema name be used in a procedure call statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSchemasInProcedureCalls() raises (SQLException);
- /** Can a schema name be used in a table definition statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSchemasInTableDefinitions() raises (SQLException);
- /** Can a schema name be used in an index definition statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSchemasInIndexDefinitions() raises (SQLException);
- /** Can a schema name be used in a privilege definition statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSchemasInPrivilegeDefinitions()
- raises (SQLException);
- /** Can a catalog name be used in a data manipulation statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCatalogsInDataManipulation() raises (SQLException);
- /** Can a catalog name be used in a procedure call statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCatalogsInProcedureCalls() raises (SQLException);
- /** Can a catalog name be used in a table definition statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCatalogsInTableDefinitions() raises (SQLException);
- /** Can a catalog name be used in an index definition statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCatalogsInIndexDefinitions() raises (SQLException);
- /** Can a catalog name be used in a privilege definition statement?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCatalogsInPrivilegeDefinitions()
- raises (SQLException);
- /** Is positioned DELETE supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsPositionedDelete() raises (SQLException);
- /** Is positioned UPDATE supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsPositionedUpdate() raises (SQLException);
- /** Is SELECT for UPDATE supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSelectForUpdate() raises (SQLException);
- /** Are stored procedure calls using the stored procedure escape
- syntax supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsStoredProcedures() raises (SQLException);
- /** Are subqueries in comparison expressions supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSubqueriesInComparisons() raises (SQLException);
- /** Are subqueries in "exists" expressions supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSubqueriesInExists() raises (SQLException);
- /** Are subqueries in "in" statements supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSubqueriesInIns() raises (SQLException);
- /** Are subqueries in quantified expressions supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsSubqueriesInQuantifieds() raises (SQLException);
- /** Are correlated subqueries supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsCorrelatedSubqueries() raises (SQLException);
- /** Is SQL UNION supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsUnion() raises (SQLException);
- /** Is SQL UNION ALL supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsUnionAll() raises (SQLException);
- /** Can cursors remain open across commits?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsOpenCursorsAcrossCommit() raises (SQLException);
- /** Can cursors remain open across rollbacks?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsOpenCursorsAcrossRollback() raises (SQLException);
- /** Can statements remain open across commits?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsOpenStatementsAcrossCommit() raises (SQLException);
- /** Can statements remain open across rollbacks?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsOpenStatementsAcrossRollback()
- raises (SQLException);
- /** return the maximal number of hex characters in an inline binary literal
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxBinaryLiteralLength() raises (SQLException);
- /** return the max length for a character literal
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxCharLiteralLength() raises (SQLException);
- /** return the limit on column name length
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxColumnNameLength() raises (SQLException);
- /** return the maximum number of columns in a "GROUP BY" clause
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxColumnsInGroupBy() raises (SQLException);
- /** return the maximum number of columns allowed in an index
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxColumnsInIndex() raises (SQLException);
- /** return the maximum number of columns in an "ORDER BY" clause
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxColumnsInOrderBy() raises (SQLException);
- /** return the maximum number of columns in a "SELECT" list
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxColumnsInSelect() raises (SQLException);
- /** return the maximum number of columns in a table
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxColumnsInTable() raises (SQLException);
- /** return the number of active connections at a time to this database.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxConnections() raises (SQLException);
- /** return the maximum cursor name length
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxCursorNameLength() raises (SQLException);
- /** return the maximum length of an index (in bytes)
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxIndexLength() raises (SQLException);
- /** return the maximum length allowed for a schema name
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxSchemaNameLength() raises (SQLException);
- /** return the maximum length of a procedure name
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxProcedureNameLength() raises (SQLException);
- /** return the maximum length of a catalog name
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxCatalogNameLength() raises (SQLException);
- /** return the maximum length of a single row.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxRowSize() raises (SQLException);
- /** Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY
- blobs?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean doesMaxRowSizeIncludeBlobs() raises (SQLException);
- /** return the maximum length of a SQL statement
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxStatementLength() raises (SQLException);
- /** return the maximal number of open active statements at one time to this database
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxStatements() raises (SQLException);
- /** return the maximum length of a table name
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxTableNameLength() raises (SQLException);
- /** return the maximum number of tables in a SELECT statement
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxTablesInSelect() raises (SQLException);
- /** return the maximum length of a user name
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- long getMaxUserNameLength() raises (SQLException);
- /** return the database default transaction isolation level.
- The values are defined in
- <type scope="com::sun::star::sdbc">TransactionIsolation</type>.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- @see com::sun::star::sdbc::XConnection
- */
- long getDefaultTransactionIsolation() raises (SQLException);
- /** support the Database transactions?
- If not, invoking the method
- <member scope="com::sun::star::sdbc">XConnection::commit()</member>
- is a noop and the
- isolation level is TransactionIsolation_NONE.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsTransactions() raises (SQLException);
- /** Does this database support the given transaction isolation level?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- @see com::sun::star::sdbc::Connection
- */
- boolean supportsTransactionIsolationLevel([in]long level)
- raises (SQLException);
- /** support the Database both data definition and data manipulation statements
- within a transaction?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- <!-- JRH: Unclear on the intent of these many support questions.
- If asking, it should state, "Does the Database support both ....?
- If declaring, it should state something like the following:
- metadata: supportsDataDefinitionAndDataManipulationTransactions
- "provides support for both data definition and data manipulation statements within a transaction."
- --> */
- boolean supportsDataDefinitionAndDataManipulationTransactions()
- raises (SQLException);
- /** are only data manipulation statements within a transaction
- supported?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsDataManipulationTransactionsOnly()
- raises (SQLException);
- /** does a data definition statement within a transaction force the
- transaction to commit?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean dataDefinitionCausesTransactionCommit()
- raises (SQLException);
- /** is a data definition statement within a transaction ignored?
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean dataDefinitionIgnoredInTransactions()
- raises (SQLException);
- /** Gets a description of the stored procedures available in a
- catalog.
- <p>
- Only procedure descriptions matching the schema and
- procedure name criteria are returned. They are ordered by
- PROCEDURE_SCHEM, and PROCEDURE_NAME.
- </p>
- <p>
- Each procedure description has the following columns:
- </p>
- <ol>
- <li>
- <b>PROCEDURE_CAT</b> string => procedure catalog (may be <NULL/>)
- </li>
- <li>
- <b>PROCEDURE_SCHEM</b> string => procedure schema (may be <NULL/>)
- </li>
- <li>
- <b>PROCEDURE_NAME</b> string => procedure name
- </li>
- <li> reserved for future use
- </li>
- <li> reserved for future use
- </li>
- <li> reserved for future use
- </li>
- <li>
- <b>REMARKS</b> string => explanatory comment on the procedure
- </li>
- <li>
- <b>PROCEDURE_TYPE</b> short => kind of procedure:
- <ul>
- <li> UNKNOWN - May return a result
- </li>
- <li> NO - Does not return a result
- </li>
- <li> RETURN - Returns a result
- </li>
- </ul>
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schemaPattern
- a schema name pattern; "" retrieves those without a schema
- @param procedureNamePattern
- a procedure name pattern
- @returns
- each row is a procedure description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getProcedures([in]any catalog, [in]string schemaPattern,
- [in]string procedureNamePattern) raises (SQLException);
- /** gets a description of a catalog's stored procedure parameters
- and result columns.
- <p>
- 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.
- </p>
- <p>Each row in the XResultSet is a parameter description or
- column description with the following fields:
- </p>
- <ol>
- <li>
- <b>PROCEDURE_CAT</b> string => procedure catalog (may be <NULL/>)
- </li>
- <li>
- <b>PROCEDURE_SCHEM</b> string => procedure schema (may be <NULL/>)
- </li>
- <li>
- <b>PROCEDURE_NAME</b> string => procedure name
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column/parameter name
- </li>
- <li>
- <b>COLUMN_TYPE</b> Short => kind of column/parameter:
- <ul>
- <li> UNKNOWN - nobody knows
- </li>
- <li> IN - IN parameter
- </li>
- <li> INOUT - INOUT parameter
- </li>
- <li> OUT - OUT parameter
- </li>
- <li> RETURN - procedure return value
- </li>
- <li> RESULT - result column in XResultSet
- </li>
- </ul>
- </li>
- <li>
- <b>DATA_TYPE</b> short => SQL type from java.sql.Types
- </li>
- <li>
- <b>TYPE_NAME</b> string => SQL type name, for a UDT type the
- type name is fully qualified
- </li>
- <li>
- <b>PRECISION</b> long => precision
- </li>
- <li>
- <b>LENGTH</b> long => length in bytes of data
- </li>
- <li>
- <b>SCALE</b> short => scale
- </li>
- <li>
- <b>RADIX</b> short => radix
- </li>
- <li>
- <b>NULLABLE</b> short => can it contain NULL?
- <ul>
- <li> NO_NULLS - does not allow NULL values
- </li>
- <li> NULLABLE - allows NULL values
- </li>
- <li> NULLABLE_UNKNOWN - nullability unknown
- </li>
- </ul>
- </li>
- <li>
- <b>REMARKS</b> string => comment describing parameter/column
- </li>
- </ol>
- <p>
- <b>Note:</b> Some databases may not return the column
- descriptions for a procedure. Additional columns beyond
- REMARKS can be defined by the database.
- </p>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schemaPattern
- a schema name pattern; "" retrieves those without a schema
- @param procedureNamePattern
- a procedure name pattern
- @param columnNamePattern
- a column name pattern
- @returns
- each row describes a stored procedure parameter or column
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getProcedureColumns([in]any catalog, [in]string schemaPattern,
- [in]string procedureNamePattern,
- [in]string columnNamePattern)
- raises (SQLException);
- /** gets a description of tables available in a catalog.
- <p>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.
- </p>
- <p>Each table description has the following columns:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => table catalog (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_SCHEM</b> string => table schema (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_NAME</b> string => table name
- </li>
- <li>
- <b>TABLE_TYPE</b> string => table type. Typical types are "TABLE",
- "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
- "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
- </li>
- <li>
- <b>REMARKS</b> string => explanatory comment on the table
- </li>
- </ol>
- <p>
- <b>Note:</b> Some databases may not return information for
- all tables.
- </p>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schemaPattern
- a schema name pattern; "" retrieves those without a schema
- @param tableNamePattern
- a table name pattern
- @param types
- a list of table types to include
- @returns
- each row is a table description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getTables([in]any catalog, [in]string schemaPattern,
- [in]string tableNamePattern, [in]sequence<string> types)
- raises (SQLException);
- /** Gets the schema names available in this database. The results
- are ordered by schema name.
- <p>The schema column is:
- </p>
- <ol>
- <li>
- <b>TABLE_SCHEM</b> string => schema name
- </li>
- </ol>
- @returns
- each row has a single String column that is a schema name
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getSchemas() raises (SQLException);
- /** gets the catalog names available in this database. The results
- are ordered by catalog name.
- <p>The catalog column is:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => catalog name
- </li>
- </ol>
- @returns
- each row has a single String column that is a catalog name
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getCatalogs() raises (SQLException);
- /** gets the table types available in this database. The results
- are ordered by table type.
- <p>The table type is:
- </p>
- <ol>
- <li>
- <b>TABLE_TYPE</b> string => table type. Typical types are "TABLE",
- "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
- "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
- </li>
- </ol>
- @returns
- each row has a single String column that is a table type
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getTableTypes() raises (SQLException);
- /** gets a description of table columns available in
- the specified catalog.
- <p>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.
- </p>
- <p>Each column description has the following columns:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => table catalog (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_SCHEM</b> string => table schema (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_NAME</b> string => table name
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column name
- </li>
- <li>
- <b>DATA_TYPE</b> short => SQL type from java.sql.Types
- </li>
- <li>
- <b>TYPE_NAME</b> string => Data source dependent type name,
- for a UDT the type name is fully qualified
- </li>
- <li>
- <b>COLUMN_SIZE</b> long => column size. For char or date
- types this is the maximum number of characters, for numeric or
- decimal types this is precision.
- </li>
- <li>
- <b>BUFFER_LENGTH</b> is not used.
- </li>
- <li>
- <b>DECIMAL_DIGITS</b> long => the number of fractional digits
- </li>
- <li>
- <b>NUM_PREC_RADIX</b> long => Radix (typically either 10 or 2)
- </li>
- <li>
- <b>NULLABLE</b> long => is NULL allowed?
- <ul>
- <li> NO_NULLS - might not allow NULL values
- </li>
- <li> NULLABLE - definitely allows NULL values
- </li>
- <li> NULLABLE_UNKNOWN - nullability unknown
- </li>
- </ul>
- </li>
- <li>
- <b>REMARKS</b> string => comment describing column (may be <NULL/>)
- </li>
- <li>
- <b>COLUMN_DEF</b> string => default value (may be <NULL/>)
- </li>
- <li>
- <b>SQL_DATA_TYPE</b> long => unused
- </li>
- <li>
- <b>SQL_DATETIME_SUB</b> long => unused
- </li>
- <li>
- <b>CHAR_OCTET_LENGTH</b> long => for char types the
- maximum number of bytes in the column
- </li>
- <li>
- <b>ORDINAL_POSITION</b> int => index of column in table
- (starting at 1)
- </li>
- <li>
- <b>IS_NULLABLE</b> string => "NO" means column definitely
- does not allow NULL values; "YES" means the column might
- allow NULL values. An empty string means nobody knows.
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schemaPattern
- a schema name pattern; "" retrieves those without a schema
- @param tableNamePattern
- a table name pattern
- @param columnNamePattern
- a column name pattern
- @returns
- each row is a column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getColumns([in]any catalog, [in]string schemaPattern,
- [in]string tableNamePattern, [in]string columnNamePattern)
- raises (SQLException);
- /** gets a description of the access rights for a table's columns.
- <p>
- Only privileges matching the column name criteria are
- returned. They are ordered by COLUMN_NAME and PRIVILEGE.
- </p>
- <p>Each privilege description has the following columns:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => table catalog (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_SCHEM</b> string => table schema (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_NAME</b> string => table name
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column name
- </li>
- <li>
- <b>GRANTOR</b> => granter of access (may be <NULL/>)
- </li>
- <li>
- <b>GRANTEE</b> string => grantee of access
- </li>
- <li>
- <b>PRIVILEGE</b> string => name of access (SELECT,
- INSERT, UPDATE, REFERENCES, ...)
- </li>
- <li>
- <b>IS_GRANTABLE</b> string => "YES" if grantee is permitted
- to grant to others; "NO" if not; <NULL/> if unknown
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name ; "" retrieves those without a schema
- @param table
- a table name
- @param columnNamePattern
- a column name pattern
- @returns
- each row is a column privilege description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getColumnPrivileges([in]any catalog, [in]string schema,
- [in]string table, [in]string columnNamePattern) raises (SQLException);
- /** 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 privilege applies to all columns (this may be <TRUE/> for
- some systems but is not <TRUE/> for all.)
- <p>Only privileges matching the schema and table name
- criteria are returned. They are ordered by TABLE_SCHEM,
- TABLE_NAME, and PRIVILEGE.
- </p>
- <p>Each privilege description has the following columns:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => table catalog (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_SCHEM</b> string => table schema (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_NAME</b> string => table name
- </li>
- <li>
- <b>GRANTOR</b> => granter of access (may be <NULL/>)
- </li>
- <li>
- <b>GRANTEE</b> string => grantee of access
- </li>
- <li>
- <b>PRIVILEGE</b> string => name of access (SELECT,
- INSERT, UPDATE, REFERENCES, ...)
- </li>
- <li>
- <b>IS_GRANTABLE</b> string => "YES" if grantee is permitted
- to grant to others; "NO" if not; <NULL/> if unknown
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schemaPattern
- a schema name pattern; "" retrieves those without a schema
- @param tableNamePattern
- a table name pattern
- @returns
- each row is a table privilege description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getTablePrivileges([in]any catalog, [in]string schemaPattern,
- [in]string tableNamePattern) raises (SQLException);
- /** gets a description of a table's optimal set of columns that
- uniquely identifies a row. They are ordered by SCOPE.
- <p>Each column description has the following columns:
- </p>
- <ol>
- <li>
- <b>SCOPE</b> short => actual scope of result
- <ul>
- <li> TEMPORARY - very temporary, while using row
- </li>
- <li> TRANSACTION - valid for remainder of current transaction
- </li>
- <li> SESSION - valid for remainder of current session
- </li>
- </ul>
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column name
- </li>
- <li>
- <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
- </li>
- <li>
- <b>TYPE_NAME</b> string => Data source dependent type name,
- for a UDT the type name is fully qualified
- </li>
- <li>
- <b>COLUMN_SIZE</b> long => precision
- </li>
- <li>
- <b>BUFFER_LENGTH</b> long => not used
- </li>
- <li>
- <b>DECIMAL_DIGITS</b> short => scale
- </li>
- <li>
- <b>PSEUDO_COLUMN</b> short => is this a pseudo column
- like an Oracle ROWID
- <ul>
- <li> UNKNOWN - may or may not be pseudo column
- </li>
- <li> NOT_PSEUDO - is NOT a pseudo column
- </li>
- <li> PSEUDO - is a pseudo column
- </li>
- </ul>
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name; "" retrieves those without a schema
- @param table
- a table name
- @param scope
- the scope of interest; use same values as SCOPE
- @param nullable
- include columns that are nullable?
- @returns
- each row is a column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getBestRowIdentifier([in]any catalog, [in]string schema,
- [in]string table, [in]long scope, [in] boolean nullable)
- raises (SQLException);
- /** gets a description of a table's columns that are automatically
- updated when any value in a row is updated. They are
- unordered.
- <p>Each column description has the following columns:
- </p>
- <ol>
- <li>
- <b>SCOPE</b> short => is not used
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column name
- </li>
- <li>
- <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
- </li>
- <li>
- <b>TYPE_NAME</b> string => Data source dependent type name
- </li>
- <li>
- <b>COLUMN_SIZE</b> long => precision
- </li>
- <li>
- <b>BUFFER_LENGTH</b> long => length of column value in bytes
- </li>
- <li>
- <b>DECIMAL_DIGITS</b> short => scale
- </li>
- <li>
- <b>PSEUDO_COLUMN</b> short => is this a pseudo column
- like an Oracle ROWID
- <ul>
- <li> UNKNOWN - may or may not be pseudo column
- </li>
- <li> NOT_PSEUDO - is NOT a pseudo column
- </li>
- <li> PSEUDO - is a pseudo column
- </li>
- </ul>
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name; "" retrieves those without a schema
- @param table
- a table name
- @returns
- each row is a column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getVersionColumns([in]any catalog, [in]string schema,
- [in]string table) raises (SQLException);
- /** gets a description of a table's primary key columns. They
- are ordered by COLUMN_NAME.
- <p>Each primary key column description has the following columns:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => table catalog (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_SCHEM</b> string => table schema (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_NAME</b> string => table name
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column name
- </li>
- <li>
- <b>KEY_SEQ</b> short => sequence number within primary key
- </li>
- <li>
- <b>PK_NAME</b> string => primary key name (may be <NULL/>)
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name; "" retrieves those without a schema
- @param table
- a table name
- @returns
- each row is a primary key column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getPrimaryKeys([in]any catalog, [in]string schema,
- [in]string table) raises (SQLException);
- /** 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.
- <p>Each primary key column description has the following columns:
- </p>
- <ol>
- <li>
- <b>PKTABLE_CAT</b> string => primary key table catalog
- being imported (may be <NULL/>)
- </li>
- <li>
- <b>PKTABLE_SCHEM</b> string => primary key table schema
- being imported (may be <NULL/>)
- </li>
- <li>
- <b>PKTABLE_NAME</b> string => primary key table name
- being imported
- </li>
- <li>
- <b>PKCOLUMN_NAME</b> string => primary key column name
- being imported
- </li>
- <li>
- <b>FKTABLE_CAT</b> string => foreign key table catalog (may be <NULL/>)
- </li>
- <li>
- <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be <NULL/>)
- </li>
- <li>
- <b>FKTABLE_NAME</b> string => foreign key table name
- </li>
- <li>
- <b>FKCOLUMN_NAME</b> string => foreign key column name
- </li>
- <li>
- <b>KEY_SEQ</b> short => sequence number within foreign key
- </li>
- <li>
- <b>UPDATE_RULE</b> short => What happens to
- foreign key when primary is updated:
- <ul>
- <li> importedNoAction - do not allow update of primary
- key if it has been imported
- </li>
- <li> importedKeyCascade - change imported key to agree
- with primary key update
- </li>
- <li> importedKeySetNull - change imported key to NULL if
- its primary key has been updated
- </li>
- <li> importedKeySetDefault - change imported key to default values
- if its primary key has been updated
- </li>
- <li> importedKeyRestrict - same as importedKeyNoAction
- (for ODBC 2.x compatibility)
- </li>
- </ul>
- </li>
- <li>
- <b>DELETE_RULE</b> short => What happens to
- the foreign key when primary is deleted.
- <ul>
- <li> importedKeyNoAction - do not allow delete of primary
- key if it has been imported
- </li>
- <li> importedKeyCascade - delete rows that import a deleted key
- </li>
- <li> importedKeySetNull - change imported key to NULL if
- its primary key has been deleted
- </li>
- <li> importedKeyRestrict - same as importedKeyNoAction
- (for ODBC 2.x compatibility)
- </li>
- <li> importedKeySetDefault - change imported key to default if
- its primary key has been deleted
- </li>
- </ul>
- </li>
- <li>
- <b>FK_NAME</b> string => foreign key name (may be <NULL/>)
- </li>
- <li>
- <b>PK_NAME</b> string => primary key name (may be <NULL/>)
- </li>
- <li>
- <b>DEFERRABILITY</b> short => can the evaluation of foreign key
- constraints be deferred until commit
- <ul>
- <li> importedKeyInitiallyDeferred - see SQL92 for definition
- </li>
- <li> importedKeyInitiallyImmediate - see SQL92 for definition
- </li>
- <li> importedKeyNotDeferrable - see SQL92 for definition
- </li>
- </ul>
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name; "" retrieves those without a schema
- @param table
- a table name
- @returns
- each row is a primary key column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getImportedKeys([in]any catalog, [in]string schema,
- [in]string table) raises (SQLException);
- /** 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.
- <p>Each foreign key column description has the following columns:
- </p>
- <ol>
- <li>
- <b>PKTABLE_CAT</b> string => primary key table catalog (may be <NULL/>)
- </li>
- <li>
- <b>PKTABLE_SCHEM</b> string => primary key table schema (may be <NULL/>)
- </li>
- <li>
- <b>PKTABLE_NAME</b> string => primary key table name
- </li>
- <li>
- <b>PKCOLUMN_NAME</b> string => primary key column name
- </li>
- <li>
- <b>FKTABLE_CAT</b> string => foreign key table catalog (may be <NULL/>)
- being exported (may be <NULL/>)
- </li>
- <li>
- <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be <NULL/>)
- being exported (may be <NULL/>)
- </li>
- <li>
- <b>FKTABLE_NAME</b> string => foreign key table name
- being exported
- </li>
- <li>
- <b>FKCOLUMN_NAME</b> string => foreign key column name
- being exported
- </li>
- <li>
- <b>KEY_SEQ</b> short => sequence number within foreign key
- </li>
- <li>
- <b>UPDATE_RULE</b> short => What happens to
- foreign key when primary is updated:
- <ul>
- <li> NO_ACTION - do not allow update of primary
- key if it has been imported
- </li>
- <li> CASCADE - change imported key to agree
- with primary key update
- </li>
- <li> SET_NULL - change imported key to NULL if
- its primary key has been updated
- </li>
- <li> SET_DEFAULT - change imported key to default values
- if its primary key has been updated
- </li>
- <li> RESTRICT - same as importedKeyNoAction
- (for ODBC 2.x compatibility)
- </li>
- </ul>
- </li>
- <li>
- <b>DELETE_RULE</b> short => What happens to
- the foreign key when primary is deleted.
- <ul>
- <li> NO_ACTION - do not allow delete of primary
- key if it has been imported
- </li>
- <li> CASCADE - delete rows that import a deleted key
- </li>
- <li> SET_NULL - change imported key to NULL if
- its primary key has been deleted
- </li>
- <li> RESTRICT - same as importedKeyNoAction
- (for ODBC 2.x compatibility)
- </li>
- <li> SET_DEFAULT - change imported key to default if
- its primary key has been deleted
- </li>
- </ul>
- </li>
- <li>
- <b>FK_NAME</b> string => foreign key name (may be <NULL/>)
- </li>
- <li>
- <b>PK_NAME</b> string => primary key name (may be <NULL/>)
- </li>
- <li>
- <b>DEFERRABILITY</b> short => can the evaluation of foreign key
- constraints be deferred until commit
- <ul>
- <li> INITIALLY_DEFERRED - see SQL92 for definition
- </li>
- <li> INITIALLY_IMMEDIATE - see SQL92 for definition
- </li>
- <li> NONE - see SQL92 for definition
- </li>
- </ul>
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name; "" retrieves those without a schema
- @param table
- a table name
- @returns
- each row is a foreign key column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getExportedKeys([in]any catalog, [in]string schema,
- [in]string table) raises (SQLException);
- /** 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.
- <p>Each foreign key column description has the following columns:
- </p>
- <ol>
- <li>
- <b>PKTABLE_CAT</b> string => primary key table catalog (may be <NULL/>)
- </li>
- <li>
- <b>PKTABLE_SCHEM</b> string => primary key table schema (may be <NULL/>)
- </li>
- <li>
- <b>PKTABLE_NAME</b> string => primary key table name
- </li>
- <li>
- <b>PKCOLUMN_NAME</b> string => primary key column name
- </li>
- <li>
- <b>FKTABLE_CAT</b> string => foreign key table catalog (may be <NULL/>)
- being exported (may be <NULL/>)
- </li>
- <li>
- <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be <NULL/>)
- being exported (may be <NULL/>)
- </li>
- <li>
- <b>FKTABLE_NAME</b> string => foreign key table name
- being exported
- </li>
- <li>
- <b>FKCOLUMN_NAME</b> string => foreign key column name
- being exported
- </li>
- <li>
- <b>KEY_SEQ</b> short => sequence number within foreign key
- </li>
- <li>
- <b>UPDATE_RULE</b> short => What happens to
- foreign key when primary is updated:
- <ul>
- <li> NO_ACTION - do not allow update of primary
- key if it has been imported
- </li>
- <li> CASCADE - change imported key to agree
- with primary key update
- </li>
- <li> SET_NULL - change imported key to NULL if
- its primary key has been updated
- </li>
- <li> SET_DEFAULT - change imported key to default values
- if its primary key has been updated
- </li>
- <li> RESTRICT - same as importedKeyNoAction
- (for ODBC 2.x compatibility)
- </li>
- </ul>
- </li>
- <li>
- <b>DELETE_RULE</b> short => What happens to
- the foreign key when primary is deleted.
- <ul>
- <li> NO_ACTION - do not allow delete of primary
- key if it has been imported
- </li>
- <li> CASCADE - delete rows that import a deleted key
- </li>
- <li> SET_NULL - change imported key to NULL if
- its primary key has been deleted
- </li>
- <li> RESTRICT - same as importedKeyNoAction
- (for ODBC 2.x compatibility)
- </li>
- <li> SET_DEFAULT - change imported key to default if
- its primary key has been deleted
- </li>
- </ul>
- </li>
- <li>
- <b>FK_NAME</b> string => foreign key name (may be <NULL/>)
- </li>
- <li>
- <b>PK_NAME</b> string => primary key name (may be <NULL/>)
- </li>
- <li>
- <b>DEFERRABILITY</b> short => can the evaluation of foreign key
- constraints be deferred until commit
- <ul>
- <li> INITIALLY_DEFERRED - see SQL92 for definition
- </li>
- <li> INITIALLY_IMMEDIATE - see SQL92 for definition
- </li>
- <li> NONE - see SQL92 for definition
- </li>
- </ul>
- </li>
- </ol>
- @param primaryCatalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param primarySchema
- a schema name; "" retrieves those without a schema
- @param primaryTable
- the table name that exports the key
- @param foreignCatalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param foreignSchema
- a schema name; "" retrieves those without a schema
- @param foreignTable
- the table name that imports the key
- @returns
- each row is a foreign key column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getCrossReference(
- [in]any primaryCatalog, [in]string primarySchema,
- [in]string primaryTable,
- [in]any foreignCatalog, [in]string foreignSchema,
- [in]string foreignTable) raises (SQLException);
- /** 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.
- <p>Each type description has the following columns:
- </p>
- <ol>
- <li>
- <b>TYPE_NAME</b> string => Type name
- </li>
- <li>
- <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
- </li>
- <li>
- <b>PRECISION</b> long => maximum precision
- </li>
- <li>
- <b>LITERAL_PREFIX</b> string => prefix used to quote a literal
- (may be <NULL/>)
- </li>
- <li>
- <b>LITERAL_SUFFIX</b> string => suffix used to quote a literal
- (may be <NULL/>)
- </li>
- <li>
- <b>CREATE_PARAMS</b> string => parameters used in creating
- the type (may be <NULL/>)
- </li>
- <li>
- <b>NULLABLE</b> short => can you use NULL for this type?
- <ul>
- <li> NO_NULLS - does not allow NULL values
- </li>
- <li> NULLABLE - allows NULL values
- </li>
- <li> NULLABLE_UNKNOWN - nullability unknown
- </li>
- </ul>
- </li>
- <li>
- <b>CASE_SENSITIVE</b> boolean=> is it case sensitive?
- </li>
- <li>
- <b>SEARCHABLE</b> short => can you use "WHERE" based on this type:
- <ul>
- <li> NONE - No support
- </li>
- <li> CHAR - Only supported with WHERE .. LIKE
- </li>
- <li> BASIC - Supported except for WHERE .. LIKE
- </li>
- <li> FULL - Supported for all WHERE ..
- </li>
- </ul>
- </li>
- <li>
- <b>UNSIGNED_ATTRIBUTE</b> boolean => is it unsigned?
- </li>
- <li>
- <b>FIXED_PREC_SCALE</b> boolean => can it be a money value?
- </li>
- <li>
- <b>AUTO_INCREMENT</b> boolean => can it be used for an
- auto-increment value?
- </li>
- <li>
- <b>LOCAL_TYPE_NAME</b> string => localized version of type name
- (may be <NULL/>)
- </li>
- <li>
- <b>MINIMUM_SCALE</b> short => minimum scale supported
- </li>
- <li>
- <b>MAXIMUM_SCALE</b> short => maximum scale supported
- </li>
- <li>
- <b>SQL_DATA_TYPE</b> long => unused
- </li>
- <li>
- <b>SQL_DATETIME_SUB</b> long => unused
- </li>
- <li>
- <b>NUM_PREC_RADIX</b> long => usually 2 or 10
- </li>
- </ol>
- @returns
- each row is a SQL type description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getTypeInfo() raises (SQLException);
- /** gets a description of a table's indices and statistics. They are
- ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.
- <p>Each index column description has the following columns:
- </p>
- <ol>
- <li>
- <b>TABLE_CAT</b> string => table catalog (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_SCHEM</b> string => table schema (may be <NULL/>)
- </li>
- <li>
- <b>TABLE_NAME</b> string => table name
- </li>
- <li>
- <b>NON_UNIQUE</b> boolean => Can index values be non-unique?
- <FALSE/> when TYPE is tableIndexStatistic
- </li>
- <li>
- <b>INDEX_QUALIFIER</b> string => index catalog (may be <NULL/>);
- <NULL/> when TYPE is tableIndexStatistic
- </li>
- <li>
- <b>INDEX_NAME</b> string => index name; <NULL/> when TYPE is
- tableIndexStatistic
- </li>
- <li>
- <b>TYPE</b> short => index type:
- <ul>
- <li> 0 - this identifies table statistics that are
- returned in conjunction with a table's index descriptions
- </li>
- <li> CLUSTERED - this is a clustered index
- </li>
- <li> HASHED - this is a hashed index
- </li>
- <li> OTHER - this is some other style of index
- </li>
- </ul>
- </li>
- <li>
- <b>ORDINAL_POSITION</b> short => column sequence number
- within index; zero when TYPE is tableIndexStatistic
- </li>
- <li>
- <b>COLUMN_NAME</b> string => column name; <NULL/> when TYPE is
- tableIndexStatistic
- </li>
- <li>
- <b>ASC_OR_DESC</b> string => column sort sequence, "A" => ascending,
- "D" => descending, may be <NULL/> if sort sequence is not supported;
- <NULL/> when TYPE is tableIndexStatistic
- </li>
- <li>
- <b>CARDINALITY</b> 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.
- </li>
- <li>
- <b>PAGES</b> 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.
- </li>
- <li>
- <b>FILTER_CONDITION</b> string => Filter condition, if any.
- (may be <NULL/>)
- </li>
- </ol>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schema
- a schema name; "" retrieves those without a schema
- @param table
- the table name that exports the key
- @param unique
- when <TRUE/>, return only indices for unique values; when <FALSE/>, return indices regardless of whether unique or not
- @param approximate
- when <TRUE/>, result is allowed to reflect approximate or out of data values; when <FALSE/>, results are requested to be accurate
- @returns
- each row is an index column description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getIndexInfo([in]any catalog, [in]string schema, [in]string table,
- [in]boolean unique, [in]boolean approximate)
- raises (SQLException);
- /** Does the database support the given result set type?
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsResultSetType([in]long setType) raises (SQLException);
- /** Does the database support the concurrency type in combination
- with the given result set type?
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @param concurrency
- defined in
- <type scope="com::sun::star::sdbc">ResultSetConcurrency</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsResultSetConcurrency([in]long setType,
- [in]long concurrency)
- raises (SQLException);
- /** indicates whether a result set's own updates are visible.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean ownUpdatesAreVisible([in]long setType) raises (SQLException);
- /** indicates whether a result set's own deletes are visible.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean ownDeletesAreVisible([in]long setType) raises (SQLException);
- /** indicates whether a result set's own inserts are visible.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean ownInsertsAreVisible([in]long setType) raises (SQLException);
- /** indicates whether updates made by others are visible.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean othersUpdatesAreVisible([in]long setType) raises (SQLException);
- /** indicates whether deletes made by others are visible.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean othersDeletesAreVisible([in]long setType) raises (SQLException);
- /** indicates whether inserts made by others are visible.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean othersInsertsAreVisible([in]long setType) raises (SQLException);
- /** indicates whether or not a visible row update can be detected by
- calling the method
- <code>XResultSet.rowUpdated</code>.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean updatesAreDetected([in]long setType) raises (SQLException);
- /** indicates whether or not a visible row delete can be detected by
- calling
- <member scope="com::sun::star::sdbc">XResultSet::rowDeleted()</member>
- . If deletesAreDetected()
- returns <FALSE/>, then deleted rows are removed from the result set.
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean deletesAreDetected([in]long setType) raises (SQLException);
- /** indicates whether or not a visible row insert can be detected
- by calling
- <member scope="com::sun::star::sdbc">XResultSet::rowInserted().</member>
- @param setType
- defined in
- <type scope="com::sun::star::sdbc">ResultSetType</type>
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean insertsAreDetected([in]long setType) raises (SQLException);
- /** indicates whether the driver supports batch updates.
- @returns
- <TRUE/> if so
- @throws SQLException
- if a database access error occurs.
- */
- boolean supportsBatchUpdates() raises (SQLException);
- /** Gets a description of the user-defined types defined in a particular
- schema. Schema-specific UDTs may have type OBJECT, STRUCT,
- or DISTINCT.
- <p>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.
- </p>
- <p>Each type description has the following columns:
- </p>
- <ol>
- <li>
- <b>TYPE_CAT</b> string => the type's catalog (may be <NULL/>)
- </li>
- <li>
- <b>TYPE_SCHEM</b> string => type's schema (may be <NULL/>)
- </li>
- <li>
- <b>TYPE_NAME</b> string => type name
- </li>
- <li>
- <b>CLASS_NAME</b> string => Java class name or service name
- </li>
- <li>
- <b>DATA_TYPE</b> string => type value.
- One of OBJECT, STRUCT, or DISTINCT
- </li>
- <li>
- <b>REMARKS</b> string => explanatory comment on the type
- </li>
- </ol>
- <p>
- <b>Note:</b> If the driver does not support UDTs, an empty
- result set is returned.
- </p>
- @param catalog
- a catalog name; "" retrieves those without a catalog; <VOID/> means drop catalog name from the selection criteria
- @param schemaPattern
- a schema name pattern; "" retrieves those without a schema
- @param typeNamePattern
- a type name pattern; may be a fully-qualified name
- @param types
- a list of user-named types to include (OBJECT, STRUCT, or DISTINCT)
- @returns
- each row is a type description
- @throws SQLException
- if a database access error occurs.
- */
- XResultSet getUDTs([in]any catalog, [in]string schemaPattern,
- [in]string typeNamePattern, [in]sequence<long> types)
- raises (SQLException);
- /** retrieves the connection that produced this metadata object.
- @returns
- the Connection object
- @throws SQLException
- if a database access error occurs.
- */
- XConnection getConnection() raises (SQLException);
- };
- }; }; }; };
- /*===========================================================================
- ===========================================================================*/
- #endif
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */