Language:

The Free and Open Productivity Suite
Apache OpenOffice 4.1.4 released

Developer's Guide

API

SDK

Tips 'n' Tricks

Miscellaneous


:: com :: sun :: star :: sdbc ::

interface XDatabaseMetaData
Description
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 XResultSet::getString() and XResultSet::getInt() to retrieve the data from these XResultSets. If a given form of metadata is not available, these methods should throw a SQLException . That a value of XResultSet is NULL can be chaked with the method XResultSet::wasNull(). In the text only "(may be NULL)" is mentioned for this case.

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.

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.

Developers Guide
Database - XDatabaseMetaData Interface
Database - Database Design - Retrieving Information about a Database

Methods' Summary
allProceduresAreCallable Can all the procedures returned by getProcedures be called by the current user?  
allTablesAreSelectable Can all the tables returned by getTable be SELECTed by the current user?  
getURL returns the URL for the database connection  
getUserName returns the user name from this database connection.  
isReadOnly checks if the database in read-only mode.  
nullsAreSortedHigh Are NULL values sorted high?  
nullsAreSortedLow Are NULL values sorted low?  
nullsAreSortedAtStart Are NULL values sorted at the start regardless of sort order?  
nullsAreSortedAtEnd Are NULL values sorted at the end, regardless of sort order?  
getDatabaseProductName returns the name of the database product.  
getDatabaseProductVersion returns the version of the database product.  
getDriverName returns the name of the SDBC driver.  
getDriverVersion returns the version number of the SDBC driver.  
getDriverMajorVersion returns the SDBC driver major version number.  
getDriverMinorVersion returns the SDBC driver minor version number.  
usesLocalFiles use the database local files to save the tables.  
usesLocalFilePerTable use the database one local file to save for each table.  
supportsMixedCaseIdentifiers use the database 'mixed case unquoted SQL identifiers' case sensitive.  
storesUpperCaseIdentifiers Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in upper case?  
storesLowerCaseIdentifiers Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in lower case?  
storesMixedCaseIdentifiers Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in mixed case?  
supportsMixedCaseQuotedIdentifiers Does the database treat mixed case quoted SQL identifiers as case sensitive and as a result store them in mixed case?  
storesUpperCaseQuotedIdentifiers Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in upper case?  
storesLowerCaseQuotedIdentifiers Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in lower case?  
storesMixedCaseQuotedIdentifiers Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in mixed case?  
getIdentifierQuoteString What's the string used to quote SQL identifiers? This returns a space " " if identifier quoting is not supported.  
getSQLKeywords gets a comma-separated list of all a database's SQL keywords that are NOT also SQL92 keywords.  
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.  
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.  
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.  
getTimeDateFunctions gets a comma-separated list of time and date functions.  
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.  
getExtraNameCharacters gets all the "extra" characters that can be used in unquoted identifier names (those beyond a-z, A-Z, 0-9 and _).  
supportsAlterTableWithAddColumn support the Database "ALTER TABLE" with add column?  
supportsAlterTableWithDropColumn support the Database "ALTER TABLE" with drop column?  
supportsColumnAliasing support the Database column aliasing?  
nullPlusNonNullIsNull are concatenations between NULL and non-NULL values NULL?  
supportsTypeConversion true , if the Database supports the CONVERT function between SQL types, otherwise false .  
supportsConvert true , if the Database supports the CONVERT between the given SQL types otherwise false .  
supportsTableCorrelationNames Are table correlation names supported?  
supportsDifferentTableCorrelationNames If table correlation names are supported, are they restricted to be different from the names of the tables?  
supportsExpressionsInOrderBy Are expressions in "ORDER BY" lists supported?  
supportsOrderByUnrelated Can an "ORDER BY" clause use columns not in the SELECT statement?  
supportsGroupBy Is some form of "GROUP BY" clause supported?  
supportsGroupByUnrelated Can a "GROUP BY" clause use columns not in the SELECT?  
supportsGroupByBeyondSelect Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the columns in the SELECT?  
supportsLikeEscapeClause Is the escape character in "LIKE" clauses supported?  
supportsMultipleResultSets Are multiple XResultSets from a single execute supported?  
supportsMultipleTransactions Can we have multiple transactions open at once (on different connections)?  
supportsNonNullableColumns Can columns be defined as non-nullable?  
supportsMinimumSQLGrammar true, if the database supports ODBC Minimum SQL grammar, otherwise false.  
supportsCoreSQLGrammar true, if the database supports ODBC Core SQL grammar, otherwise false.  
supportsExtendedSQLGrammar true, if the database supports ODBC Extended SQL grammar, otherwise false.  
supportsANSI92EntryLevelSQL  
supportsANSI92IntermediateSQL  
supportsANSI92FullSQL  
supportsIntegrityEnhancementFacility returns true, if the Database supports SQL Integrity Enhancement Facility, otherwise false.  
supportsOuterJoins  
supportsFullOuterJoins  
supportsLimitedOuterJoins  
getSchemaTerm return the database vendor's preferred term for "schema"  
getProcedureTerm return the database vendor's preferred term for "procedure"  
getCatalogTerm return the database vendor's preferred term for "catalog"  
isCatalogAtStart Does a catalog appear at the start of a qualified table name? (Otherwise it appears at the end)  
getCatalogSeparator return the separator between catalog and table name  
supportsSchemasInDataManipulation Can a schema name be used in a data manipulation statement?  
supportsSchemasInProcedureCalls Can a schema name be used in a procedure call statement?  
supportsSchemasInTableDefinitions Can a schema name be used in a table definition statement?  
supportsSchemasInIndexDefinitions Can a schema name be used in an index definition statement?  
supportsSchemasInPrivilegeDefinitions Can a schema name be used in a privilege definition statement?  
supportsCatalogsInDataManipulation Can a catalog name be used in a data manipulation statement?  
supportsCatalogsInProcedureCalls Can a catalog name be used in a procedure call statement?  
supportsCatalogsInTableDefinitions Can a catalog name be used in a table definition statement?  
supportsCatalogsInIndexDefinitions Can a catalog name be used in an index definition statement?  
supportsCatalogsInPrivilegeDefinitions Can a catalog name be used in a privilege definition statement?  
supportsPositionedDelete Is positioned DELETE supported?  
supportsPositionedUpdate Is positioned UPDATE supported?  
supportsSelectForUpdate Is SELECT for UPDATE supported?  
supportsStoredProcedures Are stored procedure calls using the stored procedure escape syntax supported?  
supportsSubqueriesInComparisons Are subqueries in comparison expressions supported?  
supportsSubqueriesInExists Are subqueries in 'exists' expressions supported?  
supportsSubqueriesInIns Are subqueries in 'in' statements supported?  
supportsSubqueriesInQuantifieds Are subqueries in quantified expressions supported?  
supportsCorrelatedSubqueries Are correlated subqueries supported?  
supportsUnion Is SQL UNION supported?  
supportsUnionAll Is SQL UNION ALL supported?  
supportsOpenCursorsAcrossCommit Can cursors remain open across commits?  
supportsOpenCursorsAcrossRollback Can cursors remain open across rollbacks?  
supportsOpenStatementsAcrossCommit Can statements remain open across commits?  
supportsOpenStatementsAcrossRollback Can statements remain open across rollbacks?  
getMaxBinaryLiteralLength return the maximal number of hex characters in an inline binary literal  
getMaxCharLiteralLength return the max length for a character literal  
getMaxColumnNameLength return the limit on column name length  
getMaxColumnsInGroupBy return the maximum number of columns in a "GROUP BY" clause  
getMaxColumnsInIndex return the maximum number of columns allowed in an index  
getMaxColumnsInOrderBy return the maximum number of columns in an "ORDER BY" clause  
getMaxColumnsInSelect return the maximum number of columns in a "SELECT" list  
getMaxColumnsInTable return the maximum number of columns in a table  
getMaxConnections return the number of active connections at a time to this database.  
getMaxCursorNameLength return the maximum cursor name length  
getMaxIndexLength return the maximum length of an index (in bytes)  
getMaxSchemaNameLength return the maximum length allowed for a schema name  
getMaxProcedureNameLength return the maximum length of a procedure name  
getMaxCatalogNameLength return the maximum length of a catalog name  
getMaxRowSize return the maximum length of a single row.  
doesMaxRowSizeIncludeBlobs Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY blobs?  
getMaxStatementLength return the maximum length of a SQL statement  
getMaxStatements return the maximal number of open active statements at one time to this database  
getMaxTableNameLength return the maximum length of a table name  
getMaxTablesInSelect return the maximum number of tables in a SELECT statement  
getMaxUserNameLength return the maximum length of a user name  
getDefaultTransactionIsolation return the database default transaction isolation level. The values are defined in TransactionIsolation.  
supportsTransactions support the Database transactions? If not, invoking the method XConnection::commit() is a noop and the isolation level is TransactionIsolation_NONE.  
supportsTransactionIsolationLevel Does this database support the given transaction isolation level?  
supportsDataDefinitionAndDataManipulationTransactions support the Database both data definition and data manipulation statements within a transaction?  
supportsDataManipulationTransactionsOnly are only data manipulation statements within a transaction supported?  
dataDefinitionCausesTransactionCommit does a data definition statement within a transaction force the transaction to commit?  
dataDefinitionIgnoredInTransactions is a data definition statement within a transaction ignored?  
getProcedures Gets a description of the stored procedures available in a catalog.  
getProcedureColumns gets a description of a catalog's stored procedure parameters and result columns.  
getTables gets a description of tables available in a catalog.  
getSchemas Gets the schema names available in this database. The results are ordered by schema name.  
getCatalogs gets the catalog names available in this database. The results are ordered by catalog name.  
getTableTypes gets the table types available in this database. The results are ordered by table type.  
getColumns gets a description of table columns available in the specified catalog.  
getColumnPrivileges gets a description of the access rights for a table's columns.  
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.)  
getBestRowIdentifier gets a description of a table's optimal set of columns that uniquely identifies a row. They are ordered by SCOPE.  
getVersionColumns gets a description of a table's columns that are automatically updated when any value in a row is updated. They are unordered.  
getPrimaryKeys gets a description of a table's primary key columns. They are ordered by COLUMN_NAME.  
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.  
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.  
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.  
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.  
getIndexInfo gets a description of a table's indices and statistics. They are ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.  
supportsResultSetType Does the database support the given result set type?  
supportsResultSetConcurrency Does the database support the concurrency type in combination with the given result set type?  
ownUpdatesAreVisible indicates whether a result set's own updates are visible.  
ownDeletesAreVisible indicates whether a result set's own deletes are visible.  
ownInsertsAreVisible indicates whether a result set's own inserts are visible.  
othersUpdatesAreVisible indicates whether updates made by others are visible.  
othersDeletesAreVisible indicates whether deletes made by others are visible.  
othersInsertsAreVisible indicates whether inserts made by others are visible.  
updatesAreDetected indicates whether or not a visible row update can be detected by calling the method XResultSet.rowUpdated.  
deletesAreDetected indicates whether or not a visible row delete can be detected by calling XResultSet::rowDeleted() . If deletesAreDetected() returns false, then deleted rows are removed from the result set.  
insertsAreDetected indicates whether or not a visible row insert can be detected by calling XResultSet::rowInserted().  
supportsBatchUpdates indicates whether the driver supports batch updates.  
getUDTs Gets a description of the user-defined types defined in a particular schema. Schema-specific UDTs may have type OBJECT, STRUCT, or DISTINCT.  
getConnection retrieves the connection that produced this metadata object.  
Methods' Details
allProceduresAreCallable
boolean
allProceduresAreCallable()
raises( SQLException );

Description
Can all the procedures returned by getProcedures be called by the current user?
Returns
true if the user is allowed to call all procedures returned by getProcedures otherwise false .
Throws
SQLException if a database access error occurs.
allTablesAreSelectable
boolean
allTablesAreSelectable()
raises( SQLException );

Description
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.
getURL
string
getURL()
raises( SQLException );

Description
returns the URL for the database connection
getUserName
string
getUserName()
raises( SQLException );

Description
returns the user name from this database connection.
isReadOnly
boolean
isReadOnly()
raises( SQLException );

Description
checks if the database in read-only mode.
Returns
true if so
Throws
SQLException if a database access error occurs.
nullsAreSortedHigh
boolean
nullsAreSortedHigh()
raises( SQLException );

Description
Are NULL values sorted high?
Returns
true if so
Throws
SQLException if a database access error occurs.
nullsAreSortedLow
boolean
nullsAreSortedLow()
raises( SQLException );

Description
Are NULL values sorted low?
Returns
true if so
Throws
SQLException if a database access error occurs.
nullsAreSortedAtStart
boolean
nullsAreSortedAtStart()
raises( SQLException );

Description
Are NULL values sorted at the start regardless of sort order?
Returns
true if so
Throws
SQLException if a database access error occurs.
nullsAreSortedAtEnd
boolean
nullsAreSortedAtEnd()
raises( SQLException );

Description
Are NULL values sorted at the end, regardless of sort order?
Returns
true if so
Throws
SQLException if a database access error occurs.
getDatabaseProductName
string
getDatabaseProductName()
raises( SQLException );

Description
returns the name of the database product.
getDatabaseProductVersion
string
getDatabaseProductVersion()
raises( SQLException );

Description
returns the version of the database product.
getDriverName
string
getDriverName()
raises( SQLException );

Description
returns the name of the SDBC driver.
getDriverVersion
string
getDriverVersion()
raises( SQLException );

Description
returns the version number of the SDBC driver.
getDriverMajorVersion
long
getDriverMajorVersion();

Description
returns the SDBC driver major version number.
getDriverMinorVersion
long
getDriverMinorVersion();

Description
returns the SDBC driver minor version number.
usesLocalFiles
boolean
usesLocalFiles()
raises( SQLException );

Description
use the database local files to save the tables.
Returns
true if so
Throws
SQLException if a database access error occurs.
usesLocalFilePerTable
boolean
usesLocalFilePerTable()
raises( SQLException );

Description
use the database one local file to save for each table.
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsMixedCaseIdentifiers
boolean
supportsMixedCaseIdentifiers()
raises( SQLException );

Description
use the database 'mixed case unquoted SQL identifiers' case sensitive.
Returns
true if so
Throws
SQLException if a database access error occurs.
storesUpperCaseIdentifiers
boolean
storesUpperCaseIdentifiers()
raises( SQLException );

Description
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.
storesLowerCaseIdentifiers
boolean
storesLowerCaseIdentifiers()
raises( SQLException );

Description
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.
storesMixedCaseIdentifiers
boolean
storesMixedCaseIdentifiers()
raises( SQLException );

Description
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.
supportsMixedCaseQuotedIdentifiers
boolean
supportsMixedCaseQuotedIdentifiers()
raises( SQLException );

Description
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.
storesUpperCaseQuotedIdentifiers
boolean
storesUpperCaseQuotedIdentifiers()
raises( SQLException );

Description
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.
storesLowerCaseQuotedIdentifiers
boolean
storesLowerCaseQuotedIdentifiers()
raises( SQLException );

Description
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.
storesMixedCaseQuotedIdentifiers
boolean
storesMixedCaseQuotedIdentifiers()
raises( SQLException );

Description
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.
getIdentifierQuoteString
string
getIdentifierQuoteString()
raises( SQLException );

Description
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.
getSQLKeywords
string
getSQLKeywords()
raises( SQLException );

Description
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.
getNumericFunctions
string
getNumericFunctions()
raises( SQLException );

Description
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.
getStringFunctions
string
getStringFunctions()
raises( SQLException );

Description
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.
getSystemFunctions
string
getSystemFunctions()
raises( SQLException );

Description
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.
getTimeDateFunctions
string
getTimeDateFunctions()
raises( SQLException );

Description
gets a comma-separated list of time and date functions.
Returns
true if so
Throws
SQLException if a database access error occurs.
getSearchStringEscape
string
getSearchStringEscape()
raises( SQLException );

Description
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.

Returns
true if so
Throws
SQLException if a database access error occurs.
getExtraNameCharacters
string
getExtraNameCharacters()
raises( SQLException );

Description
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.
supportsAlterTableWithAddColumn
boolean
supportsAlterTableWithAddColumn()
raises( SQLException );

Description
support the Database "ALTER TABLE" with add column?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsAlterTableWithDropColumn
boolean
supportsAlterTableWithDropColumn()
raises( SQLException );

Description
support the Database "ALTER TABLE" with drop column?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsColumnAliasing
boolean
supportsColumnAliasing()
raises( SQLException );

Description
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.

Returns
true if so
Throws
SQLException if a database access error occurs.
nullPlusNonNullIsNull
boolean
nullPlusNonNullIsNull()
raises( SQLException );

Description
are concatenations between NULL and non-NULL values NULL?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsTypeConversion
boolean
supportsTypeConversion()
raises( SQLException );

Description
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.
supportsConvert
boolean
supportsConvert( [in] long  fromType,
[in] long  toType )
raises( SQLException );

Description
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.
supportsTableCorrelationNames
boolean
supportsTableCorrelationNames()
raises( SQLException );

Description
Are table correlation names supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsDifferentTableCorrelationNames
boolean
supportsDifferentTableCorrelationNames()
raises( SQLException );

Description
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.
supportsExpressionsInOrderBy
boolean
supportsExpressionsInOrderBy()
raises( SQLException );

Description
Are expressions in "ORDER BY" lists supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsOrderByUnrelated
boolean
supportsOrderByUnrelated()
raises( SQLException );

Description
Can an "ORDER BY" clause use columns not in the SELECT statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsGroupBy
boolean
supportsGroupBy()
raises( SQLException );

Description
Is some form of "GROUP BY" clause supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsGroupByUnrelated
boolean
supportsGroupByUnrelated()
raises( SQLException );

Description
Can a "GROUP BY" clause use columns not in the SELECT?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsGroupByBeyondSelect
boolean
supportsGroupByBeyondSelect()
raises( SQLException );

Description
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.
supportsLikeEscapeClause
boolean
supportsLikeEscapeClause()
raises( SQLException );

Description
Is the escape character in "LIKE" clauses supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsMultipleResultSets
boolean
supportsMultipleResultSets()
raises( SQLException );

Description
Are multiple XResultSets from a single execute supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsMultipleTransactions
boolean
supportsMultipleTransactions()
raises( SQLException );

Description
Can we have multiple transactions open at once (on different connections)?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsNonNullableColumns
boolean
supportsNonNullableColumns()
raises( SQLException );

Description
Can columns be defined as non-nullable?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsMinimumSQLGrammar
boolean
supportsMinimumSQLGrammar()
raises( SQLException );

Description
true, if the database supports ODBC Minimum SQL grammar, otherwise false.
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCoreSQLGrammar
boolean
supportsCoreSQLGrammar()
raises( SQLException );

Description
true, if the database supports ODBC Core SQL grammar, otherwise false.
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsExtendedSQLGrammar
boolean
supportsExtendedSQLGrammar()
raises( SQLException );

Description
true, if the database supports ODBC Extended SQL grammar, otherwise false.
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsANSI92EntryLevelSQL
boolean
supportsANSI92EntryLevelSQL()
raises( SQLException );

Returns
true, if the database supports ANSI92 entry level SQL grammar, otherwise false.
Throws
SQLException if a database access error occurs.
supportsANSI92IntermediateSQL
boolean
supportsANSI92IntermediateSQL()
raises( SQLException );

Returns
true, if the database supports ANSI92 intermediate SQL grammar, otherwise false.
Throws
SQLException if a database access error occurs.
supportsANSI92FullSQL
boolean
supportsANSI92FullSQL()
raises( SQLException );

Returns
true, if the database supports ANSI92 full SQL grammar, otherwise false.
Throws
SQLException if a database access error occurs.
supportsIntegrityEnhancementFacility
boolean
supportsIntegrityEnhancementFacility()
raises( SQLException );

Description
returns true, if the Database supports SQL Integrity Enhancement Facility, otherwise false.
Throws
SQLException if a database access error occurs.
supportsOuterJoins
boolean
supportsOuterJoins()
raises( SQLException );

Returns
true, if some form of outer join is supported, otherwise false.
Throws
SQLException if a database access error occurs.
supportsFullOuterJoins
boolean
supportsFullOuterJoins()
raises( SQLException );

Returns
true, if full nested outer joins are supported, otherwise false.
Throws
SQLException if a database access error occurs.
supportsLimitedOuterJoins
boolean
supportsLimitedOuterJoins()
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.
getSchemaTerm
string
getSchemaTerm()
raises( SQLException );

Description
return the database vendor's preferred term for "schema"
Returns
true if so
Throws
SQLException if a database access error occurs.
getProcedureTerm
string
getProcedureTerm()
raises( SQLException );

Description
return the database vendor's preferred term for "procedure"
Returns
true if so
Throws
SQLException if a database access error occurs.
getCatalogTerm
string
getCatalogTerm()
raises( SQLException );

Description
return the database vendor's preferred term for "catalog"
Returns
true if so
Throws
SQLException if a database access error occurs.
isCatalogAtStart
boolean
isCatalogAtStart()
raises( SQLException );

Description
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.
getCatalogSeparator
string
getCatalogSeparator()
raises( SQLException );

Description
return the separator between catalog and table name
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSchemasInDataManipulation
boolean
supportsSchemasInDataManipulation()
raises( SQLException );

Description
Can a schema name be used in a data manipulation statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSchemasInProcedureCalls
boolean
supportsSchemasInProcedureCalls()
raises( SQLException );

Description
Can a schema name be used in a procedure call statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSchemasInTableDefinitions
boolean
supportsSchemasInTableDefinitions()
raises( SQLException );

Description
Can a schema name be used in a table definition statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSchemasInIndexDefinitions
boolean
supportsSchemasInIndexDefinitions()
raises( SQLException );

Description
Can a schema name be used in an index definition statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSchemasInPrivilegeDefinitions
boolean
supportsSchemasInPrivilegeDefinitions()
raises( SQLException );

Description
Can a schema name be used in a privilege definition statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCatalogsInDataManipulation
boolean
supportsCatalogsInDataManipulation()
raises( SQLException );

Description
Can a catalog name be used in a data manipulation statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCatalogsInProcedureCalls
boolean
supportsCatalogsInProcedureCalls()
raises( SQLException );

Description
Can a catalog name be used in a procedure call statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCatalogsInTableDefinitions
boolean
supportsCatalogsInTableDefinitions()
raises( SQLException );

Description
Can a catalog name be used in a table definition statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCatalogsInIndexDefinitions
boolean
supportsCatalogsInIndexDefinitions()
raises( SQLException );

Description
Can a catalog name be used in an index definition statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCatalogsInPrivilegeDefinitions
boolean
supportsCatalogsInPrivilegeDefinitions()
raises( SQLException );

Description
Can a catalog name be used in a privilege definition statement?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsPositionedDelete
boolean
supportsPositionedDelete()
raises( SQLException );

Description
Is positioned DELETE supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsPositionedUpdate
boolean
supportsPositionedUpdate()
raises( SQLException );

Description
Is positioned UPDATE supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSelectForUpdate
boolean
supportsSelectForUpdate()
raises( SQLException );

Description
Is SELECT for UPDATE supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsStoredProcedures
boolean
supportsStoredProcedures()
raises( SQLException );

Description
Are stored procedure calls using the stored procedure escape syntax supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSubqueriesInComparisons
boolean
supportsSubqueriesInComparisons()
raises( SQLException );

Description
Are subqueries in comparison expressions supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSubqueriesInExists
boolean
supportsSubqueriesInExists()
raises( SQLException );

Description
Are subqueries in 'exists' expressions supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSubqueriesInIns
boolean
supportsSubqueriesInIns()
raises( SQLException );

Description
Are subqueries in 'in' statements supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsSubqueriesInQuantifieds
boolean
supportsSubqueriesInQuantifieds()
raises( SQLException );

Description
Are subqueries in quantified expressions supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsCorrelatedSubqueries
boolean
supportsCorrelatedSubqueries()
raises( SQLException );

Description
Are correlated subqueries supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsUnion
boolean
supportsUnion()
raises( SQLException );

Description
Is SQL UNION supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsUnionAll
boolean
supportsUnionAll()
raises( SQLException );

Description
Is SQL UNION ALL supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsOpenCursorsAcrossCommit
boolean
supportsOpenCursorsAcrossCommit()
raises( SQLException );

Description
Can cursors remain open across commits?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsOpenCursorsAcrossRollback
boolean
supportsOpenCursorsAcrossRollback()
raises( SQLException );

Description
Can cursors remain open across rollbacks?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsOpenStatementsAcrossCommit
boolean
supportsOpenStatementsAcrossCommit()
raises( SQLException );

Description
Can statements remain open across commits?
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsOpenStatementsAcrossRollback
boolean
supportsOpenStatementsAcrossRollback()
raises( SQLException );

Description
Can statements remain open across rollbacks?
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxBinaryLiteralLength
long
getMaxBinaryLiteralLength()
raises( SQLException );

Description
return the maximal number of hex characters in an inline binary literal
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxCharLiteralLength
long
getMaxCharLiteralLength()
raises( SQLException );

Description
return the max length for a character literal
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxColumnNameLength
long
getMaxColumnNameLength()
raises( SQLException );

Description
return the limit on column name length
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxColumnsInGroupBy
long
getMaxColumnsInGroupBy()
raises( SQLException );

Description
return the maximum number of columns in a "GROUP BY" clause
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxColumnsInIndex
long
getMaxColumnsInIndex()
raises( SQLException );

Description
return the maximum number of columns allowed in an index
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxColumnsInOrderBy
long
getMaxColumnsInOrderBy()
raises( SQLException );

Description
return the maximum number of columns in an "ORDER BY" clause
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxColumnsInSelect
long
getMaxColumnsInSelect()
raises( SQLException );

Description
return the maximum number of columns in a "SELECT" list
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxColumnsInTable
long
getMaxColumnsInTable()
raises( SQLException );

Description
return the maximum number of columns in a table
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxConnections
long
getMaxConnections()
raises( SQLException );

Description
return the number of active connections at a time to this database.
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxCursorNameLength
long
getMaxCursorNameLength()
raises( SQLException );

Description
return the maximum cursor name length
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxIndexLength
long
getMaxIndexLength()
raises( SQLException );

Description
return the maximum length of an index (in bytes)
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxSchemaNameLength
long
getMaxSchemaNameLength()
raises( SQLException );

Description
return the maximum length allowed for a schema name
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxProcedureNameLength
long
getMaxProcedureNameLength()
raises( SQLException );

Description
return the maximum length of a procedure name
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxCatalogNameLength
long
getMaxCatalogNameLength()
raises( SQLException );

Description
return the maximum length of a catalog name
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxRowSize
long
getMaxRowSize()
raises( SQLException );

Description
return the maximum length of a single row.
Returns
true if so
Throws
SQLException if a database access error occurs.
doesMaxRowSizeIncludeBlobs
boolean
doesMaxRowSizeIncludeBlobs()
raises( SQLException );

Description
Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY blobs?
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxStatementLength
long
getMaxStatementLength()
raises( SQLException );

Description
return the maximum length of a SQL statement
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxStatements
long
getMaxStatements()
raises( SQLException );

Description
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.
getMaxTableNameLength
long
getMaxTableNameLength()
raises( SQLException );

Description
return the maximum length of a table name
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxTablesInSelect
long
getMaxTablesInSelect()
raises( SQLException );

Description
return the maximum number of tables in a SELECT statement
Returns
true if so
Throws
SQLException if a database access error occurs.
getMaxUserNameLength
long
getMaxUserNameLength()
raises( SQLException );

Description
return the maximum length of a user name
Returns
true if so
Throws
SQLException if a database access error occurs.
getDefaultTransactionIsolation
long
getDefaultTransactionIsolation()
raises( SQLException );

Description
return the database default transaction isolation level. The values are defined in TransactionIsolation.
Returns
true if so
Throws
SQLException if a database access error occurs.
See also
XConnection
supportsTransactions
boolean
supportsTransactions()
raises( SQLException );

Description
support the Database transactions? If not, invoking the method XConnection::commit() is a noop and the isolation level is TransactionIsolation_NONE.
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsTransactionIsolationLevel
boolean
supportsTransactionIsolationLevel( [in] long  level )
raises( SQLException );

Description
Does this database support the given transaction isolation level?
Returns
true if so
Throws
SQLException if a database access error occurs.
See also
Connection
supportsDataDefinitionAndDataManipulationTransactions
boolean
supportsDataDefinitionAndDataManipulationTransactions()
raises( SQLException );

Description
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.
supportsDataManipulationTransactionsOnly
boolean
supportsDataManipulationTransactionsOnly()
raises( SQLException );

Description
are only data manipulation statements within a transaction supported?
Returns
true if so
Throws
SQLException if a database access error occurs.
dataDefinitionCausesTransactionCommit
boolean
dataDefinitionCausesTransactionCommit()
raises( SQLException );

Description
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.
dataDefinitionIgnoredInTransactions
boolean
dataDefinitionIgnoredInTransactions()
raises( SQLException );

Description
is a data definition statement within a transaction ignored?
Returns
true if so
Throws
SQLException if a database access error occurs.
getProcedures
XResultSet
getProcedures( [in] any  catalog,
[in] string  schemaPattern,
[in] string  procedureNamePattern )
raises( SQLException );

Description
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 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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schemaPattern
a schema name pattern; "" retrieves those without a schema
Parameter procedureNamePattern
a procedure name pattern
Returns
each row is a procedure description
Throws
SQLException if a database access error occurs.
getProcedureColumns
XResultSet
getProcedureColumns( [in] any  catalog,
[in] string  schemaPattern,
[in] string  procedureNamePattern,
[in] string  columnNamePattern )
raises( SQLException );

Description
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.

Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schemaPattern
a schema name pattern; "" retrieves those without a schema
Parameter procedureNamePattern
a procedure name pattern
Parameter columnNamePattern
a column name pattern
Returns
each row describes a stored procedure parameter or column
Throws
SQLException if a database access error occurs.
getTables
XResultSet
getTables( [in] any  catalog,
[in] string  schemaPattern,
[in] string  tableNamePattern,
[in] sequence< string >  types )
raises( SQLException );

Description
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.

Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schemaPattern
a schema name pattern; "" retrieves those without a schema
Parameter tableNamePattern
a table name pattern
Parameter types
a list of table types to include
Returns
each row is a table description
Throws
SQLException if a database access error occurs.
getSchemas
XResultSet
getSchemas()
raises( SQLException );

Description
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
Returns
each row has a single String column that is a schema name
Throws
SQLException if a database access error occurs.
getCatalogs
XResultSet
getCatalogs()
raises( SQLException );

Description
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
Returns
each row has a single String column that is a catalog name
Throws
SQLException if a database access error occurs.
getTableTypes
XResultSet
getTableTypes()
raises( SQLException );

Description
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".
Returns
each row has a single String column that is a table type
Throws
SQLException if a database access error occurs.
getColumns
XResultSet
getColumns( [in] any  catalog,
[in] string  schemaPattern,
[in] string  tableNamePattern,
[in] string  columnNamePattern )
raises( SQLException );

Description
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.
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schemaPattern
a schema name pattern; "" retrieves those without a schema
Parameter tableNamePattern
a table name pattern
Parameter columnNamePattern
a column name pattern
Returns
each row is a column description
Throws
SQLException if a database access error occurs.
getColumnPrivileges
XResultSet
getColumnPrivileges( [in] any  catalog,
[in] string  schema,
[in] string  table,
[in] string  columnNamePattern )
raises( SQLException );

Description
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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name ; "" retrieves those without a schema
Parameter table
a table name
Parameter columnNamePattern
a column name pattern
Returns
each row is a column privilege description
Throws
SQLException if a database access error occurs.
getTablePrivileges
XResultSet
getTablePrivileges( [in] any  catalog,
[in] string  schemaPattern,
[in] string  tableNamePattern )
raises( SQLException );

Description
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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schemaPattern
a schema name pattern; "" retrieves those without a schema
Parameter tableNamePattern
a table name pattern
Returns
each row is a table privilege description
Throws
SQLException if a database access error occurs.
getBestRowIdentifier
XResultSet
getBestRowIdentifier( [in] any  catalog,
[in] string  schema,
[in] string  table,
[in] long  scope,
[in] boolean  nullable )
raises( SQLException );

Description
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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name; "" retrieves those without a schema
Parameter table
a table name
Parameter scope
the scope of interest; use same values as SCOPE
Parameter nullable
include columns that are nullable?
Returns
each row is a column description
Throws
SQLException if a database access error occurs.
getVersionColumns
XResultSet
getVersionColumns( [in] any  catalog,
[in] string  schema,
[in] string  table )
raises( SQLException );

Description
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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name; "" retrieves those without a schema
Parameter table
a table name
Returns
each row is a column description
Throws
SQLException if a database access error occurs.
getPrimaryKeys
XResultSet
getPrimaryKeys( [in] any  catalog,
[in] string  schema,
[in] string  table )
raises( SQLException );

Description
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)
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name; "" retrieves those without a schema
Parameter table
a table name
Returns
each row is a primary key column description
Throws
SQLException if a database access error occurs.
getImportedKeys
XResultSet
getImportedKeys( [in] any  catalog,
[in] string  schema,
[in] string  table )
raises( SQLException );

Description
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 being 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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name; "" retrieves those without a schema
Parameter table
a table name
Returns
each row is a primary key column description
Throws
SQLException if a database access error occurs.
getExportedKeys
XResultSet
getExportedKeys( [in] any  catalog,
[in] string  schema,
[in] string  table )
raises( SQLException );

Description
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
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name; "" retrieves those without a schema
Parameter table
a table name
Returns
each row is a foreign key column description
Throws
SQLException if a database access error occurs.
getCrossReference
XResultSet
getCrossReference( [in] any  primaryCatalog,
[in] string  primarySchema,
[in] string  primaryTable,
[in] any  foreignCatalog,
[in] string  foreignSchema,
[in] string  foreignTable )
raises( SQLException );

Description
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
Parameter primaryCatalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter primarySchema
a schema name; "" retrieves those without a schema
Parameter primaryTable
the table name that exports the key
Parameter foreignCatalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter foreignSchema
a schema name; "" retrieves those without a schema
Parameter 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.
getTypeInfo
XResultSet
getTypeInfo()
raises( SQLException );

Description
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 boolean => is it unsigned?
  11. FIXED_PREC_SCALE boolean => can it be a money value?
  12. AUTO_INCREMENT 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
Returns
each row is a SQL type description
Throws
SQLException if a database access error occurs.
getIndexInfo
XResultSet
getIndexInfo( [in] any  catalog,
[in] string  schema,
[in] string  table,
[in] boolean  unique,
[in] boolean  approximate )
raises( SQLException );

Description
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 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)
Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schema
a schema name; "" retrieves those without a schema
Parameter table
the table name that exports the key
Parameter unique
when true, return only indices for unique values; when false, return indices regardless of whether unique or not
Parameter 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.
supportsResultSetType
boolean
supportsResultSetType( [in] long  setType )
raises( SQLException );

Description
Does the database support the given result set type?
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsResultSetConcurrency
boolean
supportsResultSetConcurrency( [in] long  setType,
[in] long  concurrency )
raises( SQLException );

Description
Does the database support the concurrency type in combination with the given result set type?
Parameter setType
defined in ResultSetType
Parameter concurrency
defined in ResultSetConcurrency
Returns
true if so
Throws
SQLException if a database access error occurs.
ownUpdatesAreVisible
boolean
ownUpdatesAreVisible( [in] long  setType )
raises( SQLException );

Description
indicates whether a result set's own updates are visible.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
ownDeletesAreVisible
boolean
ownDeletesAreVisible( [in] long  setType )
raises( SQLException );

Description
indicates whether a result set's own deletes are visible.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
ownInsertsAreVisible
boolean
ownInsertsAreVisible( [in] long  setType )
raises( SQLException );

Description
indicates whether a result set's own inserts are visible.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
othersUpdatesAreVisible
boolean
othersUpdatesAreVisible( [in] long  setType )
raises( SQLException );

Description
indicates whether updates made by others are visible.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
othersDeletesAreVisible
boolean
othersDeletesAreVisible( [in] long  setType )
raises( SQLException );

Description
indicates whether deletes made by others are visible.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
othersInsertsAreVisible
boolean
othersInsertsAreVisible( [in] long  setType )
raises( SQLException );

Description
indicates whether inserts made by others are visible.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
updatesAreDetected
boolean
updatesAreDetected( [in] long  setType )
raises( SQLException );

Description
indicates whether or not a visible row update can be detected by calling the method XResultSet.rowUpdated.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
deletesAreDetected
boolean
deletesAreDetected( [in] long  setType )
raises( SQLException );

Description
indicates whether or not a visible row delete can be detected by calling XResultSet::rowDeleted() . If deletesAreDetected() returns false, then deleted rows are removed from the result set.
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
insertsAreDetected
boolean
insertsAreDetected( [in] long  setType )
raises( SQLException );

Description
indicates whether or not a visible row insert can be detected by calling XResultSet::rowInserted().
Parameter setType
defined in ResultSetType
Returns
true if so
Throws
SQLException if a database access error occurs.
supportsBatchUpdates
boolean
supportsBatchUpdates()
raises( SQLException );

Description
indicates whether the driver supports batch updates.
Returns
true if so
Throws
SQLException if a database access error occurs.
getUDTs
XResultSet
getUDTs( [in] any  catalog,
[in] string  schemaPattern,
[in] string  typeNamePattern,
[in] sequence< long >  types )
raises( SQLException );

Description
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.

Parameter catalog
a catalog name; "" retrieves those without a catalog; void means drop catalog name from the selection criteria
Parameter schemaPattern
a schema name pattern; "" retrieves those without a schema
Parameter typeNamePattern
a type name pattern; may be a fully-qualified name
Parameter 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.
getConnection
XConnection
getConnection()
raises( SQLException );

Description
retrieves the connection that produced this metadata object.
Returns
the Connection object
Throws
SQLException if a database access error occurs.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache and the Apache feather logo are trademarks of The Apache Software Foundation. OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.