public class FBDatabaseMetaData extends java.lang.Object implements FirebirdDatabaseMetaData
Many of the methods here return lists of information in
the form of ResultSet objects.
You can use the normal ResultSet methods such as getString and getInt
to retrieve the data from these ResultSet. If a given form of
metadata is not available, these methods should throw an SQLException.
Some of these methods take arguments that are String patterns. These arguments all have names such as fooPattern. Within a pattern String, "%" means match any substring of 0 or more characters, and "_" means match any one character. Only metadata entries matching the search pattern are returned. If a search pattern argument is set to a null ref, that argument's criteria will be dropped from the search.
An SQLException will be thrown if a driver does not support a meta
data method. In the case of methods that return a ResultSet,
either a ResultSet (which may be empty) is returned or a
SQLException is thrown.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
FBDatabaseMetaData.Clause |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String[] |
ALL_TYPES |
static java.lang.String[] |
ALL_TYPES_2_1
Table types supported for Firebird 2.1 and lower
|
static java.lang.String[] |
ALL_TYPES_2_5
Table types supported for Firebird 2.5 and up (will also work with 2.1 and earlier though)
|
protected static DatatypeCoder |
datatypeCoder |
static java.lang.String |
GET_COLUMNS_END |
static java.lang.String |
GLOBAL_TEMPORARY |
static java.lang.String |
SYSTEM_TABLE |
static java.lang.String |
TABLE |
static java.lang.String |
VIEW |
attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown| Modifier | Constructor and Description |
|---|---|
protected |
FBDatabaseMetaData(FBConnection c) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
allProceduresAreCallable()
Can all the procedures returned by getProcedures be called by the
current user?
|
boolean |
allTablesAreSelectable()
Can all the tables returned by getTable be SELECTed by the
current user?
|
boolean |
autoCommitFailureClosesAllResultSets() |
protected RowDescriptor |
buildTablePrivilegeRSMetaData() |
void |
close()
Closes any cached metadata statements held by this database metadata implementation.
|
boolean |
dataDefinitionCausesTransactionCommit()
Does a data definition statement within a transaction force the
transaction to commit?
|
boolean |
dataDefinitionIgnoredInTransactions()
Is a data definition statement within a transaction ignored?
|
boolean |
deletesAreDetected(int type)
Indicates whether or not a visible row delete can be detected by
calling ResultSet.rowDeleted().
|
boolean |
doesMaxRowSizeIncludeBlobs()
Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY
blobs?
|
protected java.sql.ResultSet |
doQuery(java.lang.String sql,
java.util.List<java.lang.String> params)
Execute an sql query with a given set of parameters.
|
protected java.sql.ResultSet |
doQuery(java.lang.String sql,
java.util.List<java.lang.String> params,
boolean standalone)
Execute an sql query with a given set of parameters.
|
static java.lang.String |
escapeWildcards(java.lang.String objectName)
Escapes the like wildcards and escape (
\_% in the provided search string with a \. |
boolean |
generatedKeyAlwaysReturned() |
java.sql.ResultSet |
getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String attributeNamePattern)
UDTs are not supported by Firebird.
|
java.sql.ResultSet |
getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable)
Gets a description of a table's optimal set of columns that
uniquely identifies a row.
|
protected static byte[] |
getBytes(java.lang.String value) |
java.sql.ResultSet |
getCatalogs()
Gets the catalog names available in this database.
|
java.lang.String |
getCatalogSeparator()
What's the separator between catalog and table name?
|
java.lang.String |
getCatalogTerm()
What's the database vendor's preferred term for "catalog"?
|
java.sql.ResultSet |
getClientInfoProperties()
Retrieves a list of the client info properties
that the driver supports.
|
java.sql.ResultSet |
getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String columnNamePattern)
Gets a description of the access rights for a table's columns.
|
java.sql.ResultSet |
getColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of table columns available in
the specified catalog.
|
java.sql.Connection |
getConnection()
Retrieves the connection that produced this metadata object.
|
int |
getConnectionDialect()
Get the dialect of the connection.
|
java.sql.ResultSet |
getCrossReference(java.lang.String primaryCatalog,
java.lang.String primarySchema,
java.lang.String primaryTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable)
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).
|
int |
getDatabaseDialect()
Get the dialect of the database.
|
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
java.lang.String |
getDatabaseProductName()
What's the name of this database product?
|
java.lang.String |
getDatabaseProductVersion()
What's the version of this database product?
|
int |
getDefaultTransactionIsolation()
What's the database's default transaction isolation level? The
values are defined in
java.sql.Connection. |
int |
getDriverMajorVersion()
What's this JDBC driver's major version number?
|
int |
getDriverMinorVersion()
What's this JDBC driver's minor version number?
|
java.lang.String |
getDriverName()
What's the name of this JDBC driver?
|
java.lang.String |
getDriverVersion()
What's the version of this JDBC driver?
|
java.sql.ResultSet |
getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Gets a description of the foreign key columns that reference a
table's primary key columns (the foreign keys exported by a
table).
|
java.lang.String |
getExtraNameCharacters()
Gets all the "extra" characters that can be used in unquoted
identifier names (those beyond a-z, A-Z, 0-9 and _).
|
java.sql.ResultSet |
getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the given catalog's system or user
function parameters and return type.
|
java.sql.ResultSet |
getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
Retrieves a description of the system and user functions available
in the given catalog.
|
java.lang.String |
getIdentifierQuoteString()
What's the string used to quote SQL identifiers?
This returns a space " " if identifier quoting isn't supported.
|
java.sql.ResultSet |
getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
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).
|
java.sql.ResultSet |
getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
Gets a description of a table's indices and statistics.
|
int |
getJDBCMajorVersion() |
int |
getJDBCMinorVersion() |
int |
getMaxBinaryLiteralLength()
How many hex characters can you have in an inline binary literal?
|
int |
getMaxCatalogNameLength()
What's the maximum length of a catalog name?
|
int |
getMaxCharLiteralLength()
What's the max length for a character literal?
|
int |
getMaxColumnNameLength()
What's the limit on column name length?
|
int |
getMaxColumnsInGroupBy()
What's the maximum number of columns in a "GROUP BY" clause?
|
int |
getMaxColumnsInIndex()
What's the maximum number of columns allowed in an index?
|
int |
getMaxColumnsInOrderBy()
What's the maximum number of columns in an "ORDER BY" clause?
|
int |
getMaxColumnsInSelect()
What's the maximum number of columns in a "SELECT" list?
|
int |
getMaxColumnsInTable()
What's the maximum number of columns in a table?
|
int |
getMaxConnections()
How many active connections can we have at a time to this database?
|
int |
getMaxCursorNameLength()
What's the maximum cursor name length?
|
int |
getMaxIndexLength()
Retrieves the maximum number of bytes for an index, including all
of the parts of the index.
|
int |
getMaxProcedureNameLength()
What's the maximum length of a procedure name?
|
int |
getMaxRowSize()
What's the maximum length of a single row?
|
int |
getMaxSchemaNameLength()
What's the maximum length allowed for a schema name?
|
int |
getMaxStatementLength()
What's the maximum length of an SQL statement?
|
int |
getMaxStatements()
How many active statements can we have open at one time to this
database?
|
int |
getMaxTableNameLength()
What's the maximum length of a table name?
|
int |
getMaxTablesInSelect()
What's the maximum number of tables in a SELECT statement?
|
int |
getMaxUserNameLength()
What's the maximum length of a user name?
|
java.lang.String |
getNumericFunctions()
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs
are installed.
|
int |
getOdsMajorVersion()
Get the major version of the ODS (On-Disk Structure) of the database.
|
int |
getOdsMinorVersion()
Get the minor version of the ODS (On-Disk Structure) of the database.
|
java.sql.ResultSet |
getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Gets a description of a table's primary key columns.
|
java.sql.ResultSet |
getProcedureColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the given catalog's stored procedure parameter
and result columns.
|
java.sql.ResultSet |
getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
Gets a description of the stored procedures available in a
catalog.
|
java.lang.String |
getProcedureSourceCode(java.lang.String procedureName)
Get the source of a stored procedure.
|
java.lang.String |
getProcedureTerm()
What's the database vendor's preferred term for "procedure"?
|
java.sql.ResultSet |
getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern) |
int |
getResultSetHoldability()
Retrieves the default holdability of this
ResultSet. |
java.sql.RowIdLifetime |
getRowIdLifetime()
Indicates whether or not this data source supports the SQL
ROWID type,
and if so the lifetime for which a RowId object remains valid. |
java.sql.ResultSet |
getSchemas()
Gets the schema names available in this database.
|
java.sql.ResultSet |
getSchemas(java.lang.String catalog,
java.lang.String schemaPattern)
Retrieves the schema names available in this database.
|
java.lang.String |
getSchemaTerm()
What's the database vendor's preferred term for "schema"?
|
java.lang.String |
getSearchStringEscape()
Gets the string that can be used to escape wildcard characters.
|
java.lang.String |
getSQLKeywords() |
int |
getSQLStateType()
Indicates whether the SQLSTATEs returned by SQLException.getSQLState is
X/Open (now known as Open Group) SQL CLI or SQL99
|
java.lang.String |
getStringFunctions()
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs
are installed.
|
java.sql.ResultSet |
getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Supertables are not supported by Firebird.
|
java.sql.ResultSet |
getSuperTypes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Supertypes are not supported by Firebird.
|
java.lang.String |
getSystemFunctions()
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs
are installed.
|
java.sql.ResultSet |
getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Gets a description of the access rights for each table available
in a catalog.
|
java.sql.ResultSet |
getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types)
Retrieves a description of the tables available in the given catalog.
|
java.sql.ResultSet |
getTableTypes()
Gets the table types available in this database.
|
java.lang.String |
getTimeDateFunctions()
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs
are installed.
|
java.lang.String |
getTriggerSourceCode(java.lang.String triggerName)
Get the source of a trigger.
|
java.sql.ResultSet |
getTypeInfo()
Gets a description of all the standard SQL types supported by
this database.
|
java.sql.ResultSet |
getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types)
UDTs are not supported by Firebird.
|
java.lang.String |
getURL()
What's the url for this database?
|
java.lang.String |
getUserName()
What's our user name as known to the database?
|
java.sql.ResultSet |
getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Gets a description of a table's columns that are automatically
updated when any value in a row is updated.
|
java.lang.String |
getViewSourceCode(java.lang.String viewName)
Get the source of a view.
|
protected java.lang.String |
getWantsSystemTables(java.lang.String[] types) |
protected java.lang.String |
getWantsTables(java.lang.String[] types) |
protected java.lang.String |
getWantsViews(java.lang.String[] types) |
static boolean |
hasNoWildcards(java.lang.String pattern)
Determine if there are no SQL wildcard characters ('%' or '_') in the
given pattern.
|
boolean |
insertsAreDetected(int type)
Indicates whether or not a visible row insert can be detected
by calling ResultSet.rowInserted().
|
protected static boolean |
isAllCondition(java.lang.String pattern) |
boolean |
isCatalogAtStart()
Does a catalog appear at the start of a qualified table name?
(Otherwise it appears at the end)
|
boolean |
isReadOnly()
Is the database in read-only mode?
|
boolean |
isWrapperFor(java.lang.Class<?> iface) |
boolean |
locatorsUpdateCopy() |
boolean |
nullPlusNonNullIsNull()
Retrieves whether concatenations between NULL and non-NULL values
equal NULL.
|
boolean |
nullsAreSortedAtEnd()
Are NULL values sorted at the end regardless of sort order?
|
boolean |
nullsAreSortedAtStart()
Are NULL values sorted at the start regardless of sort order?
|
boolean |
nullsAreSortedHigh()
Are NULL values sorted high?
|
boolean |
nullsAreSortedLow()
Are NULL values sorted low?
|
boolean |
othersDeletesAreVisible(int type)
Indicates whether deletes made by others are visible.
|
boolean |
othersInsertsAreVisible(int type)
Indicates whether inserts made by others are visible.
|
boolean |
othersUpdatesAreVisible(int type)
Indicates whether updates made by others are visible.
|
boolean |
ownDeletesAreVisible(int type)
Indicates whether a result set's own deletes are visible.
|
boolean |
ownInsertsAreVisible(int type)
Indicates whether a result set's own inserts are visible.
|
boolean |
ownUpdatesAreVisible(int type)
Indicates whether a result set's own updates are visible.
|
protected FBResultSet |
processTablePrivileges(RowDescriptor rowDescriptor,
java.sql.ResultSet fbTablePrivileges) |
boolean |
storesLowerCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case insensitive and store them in lower case?
|
boolean |
storesLowerCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case insensitive and store them in lower case?
|
boolean |
storesMixedCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case insensitive and store them in mixed case?
|
boolean |
storesMixedCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case insensitive and store them in mixed case?
|
boolean |
storesUpperCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case insensitive and store them in upper case?
|
boolean |
storesUpperCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case insensitive and store them in upper case?
|
static java.lang.String |
stripEscape(java.lang.String pattern)
Strips all backslash-escapes from a string.
|
boolean |
supportsAlterTableWithAddColumn()
Is "ALTER TABLE" with add column supported?
|
boolean |
supportsAlterTableWithDropColumn()
Is "ALTER TABLE" with drop column supported?
|
boolean |
supportsANSI92EntryLevelSQL()
Is the ANSI92 entry level SQL grammar supported?
All JDBC CompliantTM drivers must return true.
|
boolean |
supportsANSI92FullSQL()
Is the ANSI92 full SQL grammar supported?
|
boolean |
supportsANSI92IntermediateSQL()
Is the ANSI92 intermediate SQL grammar supported?
|
boolean |
supportsBatchUpdates()
Indicates whether the driver supports batch updates.
|
boolean |
supportsCatalogsInDataManipulation()
Can a catalog name be used in a data manipulation statement?
|
boolean |
supportsCatalogsInIndexDefinitions()
Can a catalog name be used in an index definition statement?
|
boolean |
supportsCatalogsInPrivilegeDefinitions()
Can a catalog name be used in a privilege definition statement?
|
boolean |
supportsCatalogsInProcedureCalls()
Can a catalog name be used in a procedure call statement?
|
boolean |
supportsCatalogsInTableDefinitions()
Can a catalog name be used in a table definition statement?
|
boolean |
supportsColumnAliasing()
Is column aliasing supported?
|
boolean |
supportsConvert()
Is the CONVERT function between SQL types supported?
|
boolean |
supportsConvert(int fromType,
int toType)
Retrieves whether CONVERT between the given SQL types supported.
|
boolean |
supportsCoreSQLGrammar()
Is the ODBC Core SQL grammar supported?
|
boolean |
supportsCorrelatedSubqueries()
Are correlated subqueries supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsDataDefinitionAndDataManipulationTransactions()
Are both data definition and data manipulation statements
within a transaction supported?
|
boolean |
supportsDataManipulationTransactionsOnly()
Are only data manipulation statements within a transaction
supported?
|
boolean |
supportsDifferentTableCorrelationNames()
If table correlation names are supported, are they restricted
to be different from the names of the tables?
|
boolean |
supportsExpressionsInOrderBy()
Are expressions in "ORDER BY" lists supported?
|
boolean |
supportsExtendedSQLGrammar()
Is the ODBC Extended SQL grammar supported?
|
boolean |
supportsFullOuterJoins() |
boolean |
supportsGetGeneratedKeys()
Retrieves whether auto-generated keys can be retrieved after creation.
|
boolean |
supportsGroupBy()
Is some form of "GROUP BY" clause supported?
|
boolean |
supportsGroupByBeyondSelect()
Can a "GROUP BY" clause add columns not in the SELECT
provided it specifies all the columns in the SELECT?
|
boolean |
supportsGroupByUnrelated()
Can a "GROUP BY" clause use columns not in the SELECT?
|
boolean |
supportsIntegrityEnhancementFacility()
Is the SQL Integrity Enhancement Facility supported?
|
boolean |
supportsLikeEscapeClause()
Is the escape character in "LIKE" clauses supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsLimitedOuterJoins() |
boolean |
supportsMinimumSQLGrammar()
Is the ODBC Minimum SQL grammar supported?
All JDBC CompliantTM drivers must return true.
|
boolean |
supportsMixedCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case sensitive and as a result store them in mixed case?
A JDBC CompliantTM driver will always return false.
|
boolean |
supportsMixedCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case sensitive and as a result store them in mixed case?
A JDBC CompliantTM driver will always return true.
|
boolean |
supportsMultipleOpenResults()
Retrieves whether it is possible to have multiple
ResultSet
objects returned from a CallableStatement object
simultaneously. |
boolean |
supportsMultipleResultSets()
Are multiple
ResultSet from a single execute supported? |
boolean |
supportsMultipleTransactions()
Can we have multiple transactions open at once (on different
connections)?
|
boolean |
supportsNamedParameters()
Retrieve whether this database supports named parameters.
|
boolean |
supportsNonNullableColumns()
Can columns be defined as non-nullable?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsOpenCursorsAcrossCommit()
Can cursors remain open across commits?
|
boolean |
supportsOpenCursorsAcrossRollback()
Can cursors remain open across rollbacks?
|
boolean |
supportsOpenStatementsAcrossCommit()
Can statements remain open across commits?
|
boolean |
supportsOpenStatementsAcrossRollback()
Can statements remain open across rollbacks?
|
boolean |
supportsOrderByUnrelated()
Can an "ORDER BY" clause use columns not in the SELECT statement?
|
boolean |
supportsOuterJoins() |
boolean |
supportsPositionedDelete()
Is positioned DELETE supported?
|
boolean |
supportsPositionedUpdate()
Is positioned UPDATE supported?
|
boolean |
supportsResultSetConcurrency(int type,
int concurrency)
Does the database support the concurrency type in combination
with the given result set type?
|
boolean |
supportsResultSetHoldability(int holdability)
Retrieves whether this database supports the given results holdability.
|
boolean |
supportsResultSetType(int type)
Does the database support the given result set type?
|
boolean |
supportsSavepoints()
Retrieves whether this database supports savepoints.
|
boolean |
supportsSchemasInDataManipulation()
Can a schema name be used in a data manipulation statement?
|
boolean |
supportsSchemasInIndexDefinitions()
Can a schema name be used in an index definition statement?
|
boolean |
supportsSchemasInPrivilegeDefinitions()
Can a schema name be used in a privilege definition statement?
|
boolean |
supportsSchemasInProcedureCalls()
Can a schema name be used in a procedure call statement?
|
boolean |
supportsSchemasInTableDefinitions()
Can a schema name be used in a table definition statement?
|
boolean |
supportsSelectForUpdate()
Is SELECT for UPDATE supported?
|
boolean |
supportsStatementPooling() |
boolean |
supportsStoredFunctionsUsingCallSyntax() |
boolean |
supportsStoredProcedures()
Are stored procedure calls using the stored procedure escape
syntax supported?
|
boolean |
supportsSubqueriesInComparisons()
Are subqueries in comparison expressions supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsSubqueriesInExists()
Are subqueries in 'exists' expressions supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsSubqueriesInIns()
Are subqueries in 'in' statements supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsSubqueriesInQuantifieds()
Are subqueries in quantified expressions supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsTableCorrelationNames()
Are table correlation names supported?
A JDBC CompliantTM driver always returns true.
|
boolean |
supportsTransactionIsolationLevel(int level)
Does this database support the given transaction isolation level?
|
boolean |
supportsTransactions()
Are transactions supported? If not, invoking the method
commit is a noop and the
isolation level is TRANSACTION_NONE. |
boolean |
supportsUnion()
Is SQL UNION supported?
|
boolean |
supportsUnionAll()
Is SQL UNION ALL supported?
|
<T> T |
unwrap(java.lang.Class<T> iface) |
boolean |
updatesAreDetected(int type)
Indicates whether or not a visible row update can be detected by
calling the method
ResultSet.rowUpdated. |
boolean |
usesLocalFilePerTable()
Does the database use a file for each table?
|
boolean |
usesLocalFiles()
Does the database store tables in a local file?
|
protected static final DatatypeCoder datatypeCoder
public static final java.lang.String TABLE
public static final java.lang.String SYSTEM_TABLE
public static final java.lang.String VIEW
public static final java.lang.String GLOBAL_TEMPORARY
public static final java.lang.String[] ALL_TYPES_2_5
public static final java.lang.String[] ALL_TYPES_2_1
public static final java.lang.String[] ALL_TYPES
public static final java.lang.String GET_COLUMNS_END
protected FBDatabaseMetaData(FBConnection c) throws java.sql.SQLException
java.sql.SQLExceptionpublic void close()
FirebirdDatabaseMetaDataThe database metadata object itself remains usable. Exceptions during statement close are logged and suppressed.
close in interface FirebirdDatabaseMetaDatapublic boolean allProceduresAreCallable()
throws java.sql.SQLException
allProceduresAreCallable in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean allTablesAreSelectable()
throws java.sql.SQLException
allTablesAreSelectable in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic java.lang.String getURL()
throws java.sql.SQLException
getURL in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getUserName()
throws java.sql.SQLException
getUserName in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean isReadOnly()
throws java.sql.SQLException
isReadOnly in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean nullsAreSortedHigh()
throws java.sql.SQLException
nullsAreSortedHigh in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean nullsAreSortedLow()
throws java.sql.SQLException
nullsAreSortedLow in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean nullsAreSortedAtStart()
throws java.sql.SQLException
nullsAreSortedAtStart in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean nullsAreSortedAtEnd()
throws java.sql.SQLException
nullsAreSortedAtEnd in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic java.lang.String getDatabaseProductName()
throws java.sql.SQLException
getDatabaseProductName in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getDatabaseProductVersion()
throws java.sql.SQLException
getDatabaseProductVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getDriverName()
throws java.sql.SQLException
getDriverName in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getDriverVersion()
throws java.sql.SQLException
getDriverVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getDriverMajorVersion()
getDriverMajorVersion in interface java.sql.DatabaseMetaDatapublic int getDriverMinorVersion()
getDriverMinorVersion in interface java.sql.DatabaseMetaDatapublic boolean usesLocalFiles()
throws java.sql.SQLException
usesLocalFiles in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean usesLocalFilePerTable()
throws java.sql.SQLException
usesLocalFilePerTable in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean supportsMixedCaseIdentifiers()
throws java.sql.SQLException
supportsMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsStatementPooling()
throws java.sql.SQLException
supportsStatementPooling in interface java.sql.DatabaseMetaDataboolean valuejava.sql.SQLException - if an error occurs
TODO implement statement pooling on the server.. then in the driverpublic boolean locatorsUpdateCopy()
throws java.sql.SQLException
locatorsUpdateCopy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseIdentifiers()
throws java.sql.SQLException
storesUpperCaseIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean storesLowerCaseIdentifiers()
throws java.sql.SQLException
storesLowerCaseIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean storesMixedCaseIdentifiers()
throws java.sql.SQLException
storesMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
supportsMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean storesUpperCaseQuotedIdentifiers()
throws java.sql.SQLException
storesUpperCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean storesLowerCaseQuotedIdentifiers()
throws java.sql.SQLException
storesLowerCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean storesMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
storesMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic java.lang.String getIdentifierQuoteString()
throws java.sql.SQLException
getIdentifierQuoteString in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getSQLKeywords()
throws java.sql.SQLException
getSQLKeywords in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getNumericFunctions()
throws java.sql.SQLException
getNumericFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getStringFunctions()
throws java.sql.SQLException
getStringFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getSystemFunctions()
throws java.sql.SQLException
getSystemFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getTimeDateFunctions()
throws java.sql.SQLException
getTimeDateFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getSearchStringEscape()
throws java.sql.SQLException
The '_' character represents any single character.
The '%' character represents any sequence of zero or more characters.
getSearchStringEscape in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getExtraNameCharacters()
throws java.sql.SQLException
getExtraNameCharacters in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean supportsAlterTableWithAddColumn()
throws java.sql.SQLException
supportsAlterTableWithAddColumn in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsAlterTableWithDropColumn()
throws java.sql.SQLException
supportsAlterTableWithDropColumn in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsColumnAliasing()
throws java.sql.SQLException
If so, the SQL AS clause can be used to provide names for computed columns or to provide alias names for columns as required. A JDBC CompliantTM driver always returns true.
supportsColumnAliasing in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean nullPlusNonNullIsNull()
throws java.sql.SQLException
true.nullPlusNonNullIsNull in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsConvert()
throws java.sql.SQLException
supportsConvert in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsConvert(int fromType,
int toType)
throws java.sql.SQLException
supportsConvert in interface java.sql.DatabaseMetaDatafromType - the type to convert fromtoType - the type to convert totrue if so; false otherwisejava.sql.SQLException - if a database access error occursTypespublic boolean supportsTableCorrelationNames()
throws java.sql.SQLException
supportsTableCorrelationNames in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsDifferentTableCorrelationNames()
throws java.sql.SQLException
supportsDifferentTableCorrelationNames in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsExpressionsInOrderBy()
throws java.sql.SQLException
supportsExpressionsInOrderBy in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsOrderByUnrelated()
throws java.sql.SQLException
supportsOrderByUnrelated in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsGroupBy()
throws java.sql.SQLException
supportsGroupBy in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsGroupByUnrelated()
throws java.sql.SQLException
supportsGroupByUnrelated in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsGroupByBeyondSelect()
throws java.sql.SQLException
supportsGroupByBeyondSelect in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsLikeEscapeClause()
throws java.sql.SQLException
supportsLikeEscapeClause in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsMultipleResultSets()
throws java.sql.SQLException
ResultSet from a single execute supported?supportsMultipleResultSets in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsMultipleTransactions()
throws java.sql.SQLException
supportsMultipleTransactions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsNonNullableColumns()
throws java.sql.SQLException
supportsNonNullableColumns in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsMinimumSQLGrammar()
throws java.sql.SQLException
supportsMinimumSQLGrammar in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCoreSQLGrammar()
throws java.sql.SQLException
supportsCoreSQLGrammar in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsExtendedSQLGrammar()
throws java.sql.SQLException
supportsExtendedSQLGrammar in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsANSI92EntryLevelSQL()
throws java.sql.SQLException
supportsANSI92EntryLevelSQL in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsANSI92IntermediateSQL()
throws java.sql.SQLException
supportsANSI92IntermediateSQL in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsANSI92FullSQL()
throws java.sql.SQLException
supportsANSI92FullSQL in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsIntegrityEnhancementFacility()
throws java.sql.SQLException
supportsIntegrityEnhancementFacility in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsOuterJoins()
throws java.sql.SQLException
supportsOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsFullOuterJoins()
throws java.sql.SQLException
supportsFullOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsLimitedOuterJoins()
throws java.sql.SQLException
supportsLimitedOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getSchemaTerm()
throws java.sql.SQLException
getSchemaTerm in interface java.sql.DatabaseMetaDatanull because
schemas are not supported by database server (see JDBC CTS
for details).java.sql.SQLException - if a database access error occurspublic java.lang.String getProcedureTerm()
throws java.sql.SQLException
getProcedureTerm in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getCatalogTerm()
throws java.sql.SQLException
getCatalogTerm in interface java.sql.DatabaseMetaDatanull because
catalogs are not supported by database server (see JDBC CTS
for details).java.sql.SQLException - if a database access error occurspublic boolean isCatalogAtStart()
throws java.sql.SQLException
isCatalogAtStart in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getCatalogSeparator()
throws java.sql.SQLException
getCatalogSeparator in interface java.sql.DatabaseMetaDatanull because
catalogs are not supported by database server (see JDBC CTS
for details).java.sql.SQLException - if a database access error occurspublic boolean supportsSchemasInDataManipulation()
throws java.sql.SQLException
supportsSchemasInDataManipulation in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSchemasInProcedureCalls()
throws java.sql.SQLException
supportsSchemasInProcedureCalls in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSchemasInTableDefinitions()
throws java.sql.SQLException
supportsSchemasInTableDefinitions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSchemasInIndexDefinitions()
throws java.sql.SQLException
supportsSchemasInIndexDefinitions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSchemasInPrivilegeDefinitions()
throws java.sql.SQLException
supportsSchemasInPrivilegeDefinitions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCatalogsInDataManipulation()
throws java.sql.SQLException
supportsCatalogsInDataManipulation in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCatalogsInProcedureCalls()
throws java.sql.SQLException
supportsCatalogsInProcedureCalls in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCatalogsInTableDefinitions()
throws java.sql.SQLException
supportsCatalogsInTableDefinitions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCatalogsInIndexDefinitions()
throws java.sql.SQLException
supportsCatalogsInIndexDefinitions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCatalogsInPrivilegeDefinitions()
throws java.sql.SQLException
supportsCatalogsInPrivilegeDefinitions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsPositionedDelete()
throws java.sql.SQLException
supportsPositionedDelete in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsPositionedUpdate()
throws java.sql.SQLException
supportsPositionedUpdate in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSelectForUpdate()
throws java.sql.SQLException
supportsSelectForUpdate in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsStoredProcedures()
throws java.sql.SQLException
supportsStoredProcedures in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSubqueriesInComparisons()
throws java.sql.SQLException
supportsSubqueriesInComparisons in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSubqueriesInExists()
throws java.sql.SQLException
supportsSubqueriesInExists in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSubqueriesInIns()
throws java.sql.SQLException
supportsSubqueriesInIns in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsSubqueriesInQuantifieds()
throws java.sql.SQLException
supportsSubqueriesInQuantifieds in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsCorrelatedSubqueries()
throws java.sql.SQLException
supportsCorrelatedSubqueries in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsUnion()
throws java.sql.SQLException
supportsUnion in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsUnionAll()
throws java.sql.SQLException
supportsUnionAll in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsOpenCursorsAcrossCommit()
throws java.sql.SQLException
supportsOpenCursorsAcrossCommit in interface java.sql.DatabaseMetaDatatrue if cursors always remain open;
false if they might not remain openjava.sql.SQLException - if a database access error occurspublic boolean supportsOpenCursorsAcrossRollback()
throws java.sql.SQLException
supportsOpenCursorsAcrossRollback in interface java.sql.DatabaseMetaDatatrue if cursors always remain open;
false if they might not remain openjava.sql.SQLException - if a database access error occurspublic boolean supportsOpenStatementsAcrossCommit()
throws java.sql.SQLException
supportsOpenStatementsAcrossCommit in interface java.sql.DatabaseMetaDatatrue if statements always remain open;
false if they might not remain openjava.sql.SQLException - if a database access error occurspublic boolean supportsOpenStatementsAcrossRollback()
throws java.sql.SQLException
supportsOpenStatementsAcrossRollback in interface java.sql.DatabaseMetaDatatrue if statements always remain open;
false if they might not remain openjava.sql.SQLException - if a database access error occurspublic int getMaxBinaryLiteralLength()
throws java.sql.SQLException
getMaxBinaryLiteralLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxCharLiteralLength()
throws java.sql.SQLException
getMaxCharLiteralLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxColumnNameLength()
throws java.sql.SQLException
getMaxColumnNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxColumnsInGroupBy()
throws java.sql.SQLException
getMaxColumnsInGroupBy in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxColumnsInIndex()
throws java.sql.SQLException
getMaxColumnsInIndex in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxColumnsInOrderBy()
throws java.sql.SQLException
getMaxColumnsInOrderBy in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxColumnsInSelect()
throws java.sql.SQLException
getMaxColumnsInSelect in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxColumnsInTable()
throws java.sql.SQLException
getMaxColumnsInTable in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxConnections()
throws java.sql.SQLException
getMaxConnections in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxCursorNameLength()
throws java.sql.SQLException
getMaxCursorNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxIndexLength()
throws java.sql.SQLException
getMaxIndexLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxSchemaNameLength()
throws java.sql.SQLException
getMaxSchemaNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxProcedureNameLength()
throws java.sql.SQLException
getMaxProcedureNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxCatalogNameLength()
throws java.sql.SQLException
getMaxCatalogNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxRowSize()
throws java.sql.SQLException
getMaxRowSize in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean doesMaxRowSizeIncludeBlobs()
throws java.sql.SQLException
doesMaxRowSizeIncludeBlobs in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic int getMaxStatementLength()
throws java.sql.SQLException
getMaxStatementLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxStatements()
throws java.sql.SQLException
getMaxStatements in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxTableNameLength()
throws java.sql.SQLException
getMaxTableNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxTablesInSelect()
throws java.sql.SQLException
getMaxTablesInSelect in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getMaxUserNameLength()
throws java.sql.SQLException
getMaxUserNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getDefaultTransactionIsolation()
throws java.sql.SQLException
java.sql.Connection.getDefaultTransactionIsolation in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occursConnectionpublic boolean supportsTransactions()
throws java.sql.SQLException
commit is a noop and the
isolation level is TRANSACTION_NONE.supportsTransactions in interface java.sql.DatabaseMetaDatatrue if transactions are supported; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsTransactionIsolationLevel(int level)
throws java.sql.SQLException
supportsTransactionIsolationLevel in interface java.sql.DatabaseMetaDatalevel - the values are defined in java.sql.Connectiontrue if so; false otherwisejava.sql.SQLException - if a database access error occursConnectionpublic boolean supportsDataDefinitionAndDataManipulationTransactions()
throws java.sql.SQLException
supportsDataDefinitionAndDataManipulationTransactions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean supportsDataManipulationTransactionsOnly()
throws java.sql.SQLException
supportsDataManipulationTransactionsOnly in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean dataDefinitionCausesTransactionCommit()
throws java.sql.SQLException
dataDefinitionCausesTransactionCommit in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic boolean dataDefinitionIgnoredInTransactions()
throws java.sql.SQLException
dataDefinitionIgnoredInTransactions in interface java.sql.DatabaseMetaDatatrue if so; false otherwisejava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
throws java.sql.SQLException
Only procedure descriptions matching the schema and procedure name criteria are returned. They are ordered by PROCEDURE_SCHEM, and PROCEDURE_NAME.
Each procedure description has the the following columns:
getProcedures in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern - a schema name pattern; "" retrieves those
without a schemaprocedureNamePattern - a procedure name patternResultSet - each row is a procedure descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getProcedureColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern)
throws java.sql.SQLException
Only descriptions matching the schema, procedure and parameter name criteria are returned. They are ordered by PROCEDURE_CAT, PROCEDURE_SCHEM, PROCEDURE_NAME and SPECIFIC_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 ResultSet is a parameter description or
column description with the following fields:
null)
null)
ResultSet
null)
Note: Some databases may not return the column descriptions for a procedure.
The PRECISION column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getProcedureColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; must match the catalog name as it
is stored in the database; "" retrieves those without a catalog;
null means that the catalog name should not be used to narrow
the searchschemaPattern - a schema name pattern; must match the schema name
as it is stored in the database; "" retrieves those without a schema;
null means that the schema name should not be used to narrow
the searchprocedureNamePattern - a procedure name pattern; must match the
procedure name as it is stored in the databasecolumnNamePattern - a column name pattern; must match the column name
as it is stored in the databaseResultSet - each row describes a stored procedure parameter or
columnjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types)
throws java.sql.SQLException
TABLE_TYPE, TABLE_CAT,
TABLE_SCHEM and TABLE_NAME.
Each table description has the following columns:
=> table catalog (may be null)
=> table schema (may be null)
=> table name
=> table type. Typical types are "TABLE",
"VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
"LOCAL TEMPORARY", "ALIAS", "SYNONYM".
=> explanatory comment on the table
=> the types catalog (may be null)
=> the types schema (may be null)
=> type name (may be null)
=> name of the designated
"identifier" column of a typed table (may be null)
=> specifies how values in
SELF_REFERENCING_COL_NAME are created. Values are
"SYSTEM", "USER", "DERIVED". (may be null)
Note: Some databases may not return information for all tables.
getTables in interface java.sql.DatabaseMetaDatacatalog - a catalog name; must match the catalog name as it
is stored in the database; "" retrieves those without a catalog;
null means that the catalog name should not be used to narrow
the searchschemaPattern - a schema name pattern; must match the schema name
as it is stored in the database; "" retrieves those without a schema;
null means that the schema name should not be used to narrow
the searchtableNamePattern - a table name pattern; must match the
table name as it is stored in the databasetypes - a list of table types, which must be from the list of table types
returned from getTableTypes(),to include; null returns
all typesResultSet - each row is a table descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getSchemas()
throws java.sql.SQLException
The schema columns are:
null)
getSchemas in interface java.sql.DatabaseMetaDataResultSet - each row has a single String column that is a
schema namejava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getCatalogs()
throws java.sql.SQLException
The catalog column is:
getCatalogs in interface java.sql.DatabaseMetaDataResultSet - each row has a single String column that is a
catalog namejava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getTableTypes()
throws java.sql.SQLException
The table type is:
getTableTypes in interface java.sql.DatabaseMetaDataResultSet - each row has a single String column that is a
table typejava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
throws java.sql.SQLException
Only column descriptions matching the catalog, schema, table
and column name criteria are returned. They are ordered by
TABLE_CAT,TABLE_SCHEM,
TABLE_NAME, and ORDINAL_POSITION.
Each column description has the following columns:
null)
null)
NULL values
NULL values
null)
null)
null if DATA_TYPE isn't REF)
null if the DATA_TYPE isn't REF)
null if the DATA_TYPE isn't REF)
null if DATA_TYPE
isn't DISTINCT or user-generated REF)
IS_AUTOINCREMENT. This column indicates if the column
is a true identity column.
The COLUMN_SIZE column specifies the column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; must match the catalog name as it
is stored in the database; "" retrieves those without a catalog;
null means that the catalog name should not be used to narrow
the searchschemaPattern - a schema name pattern; must match the schema name
as it is stored in the database; "" retrieves those without a schema;
null means that the schema name should not be used to narrow
the searchtableNamePattern - a table name pattern; must match the
table name as it is stored in the databasecolumnNamePattern - a column name pattern; must match the column
name as it is stored in the databaseResultSet - each row is a column descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String columnNamePattern)
throws java.sql.SQLException
Only privileges matching the column name criteria are returned. They are ordered by COLUMN_NAME and PRIVILEGE.
Each privilige description has the following columns:
getColumnPrivileges in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those without a schematable - a table namecolumnNamePattern - a column name patternResultSet - each row is a column privilege descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
throws java.sql.SQLException
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:
getTablePrivileges in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern - a schema name pattern; "" retrieves those
without a schematableNamePattern - a table name patternResultSet - each row is a table privilege descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()protected final RowDescriptor buildTablePrivilegeRSMetaData()
protected final FBResultSet processTablePrivileges(RowDescriptor rowDescriptor, java.sql.ResultSet fbTablePrivileges) throws java.sql.SQLException
java.sql.SQLExceptionpublic java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable)
throws java.sql.SQLException
Each column description has the following columns:
getBestRowIdentifier in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those without a schematable - a table namescope - the scope of interest; use same values as SCOPEnullable - include columns that are nullable?ResultSet - each row is a column descriptionjava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.SQLException
Each column description has the following columns:
getVersionColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those without a schematable - a table nameResultSet - each row is a column descriptionjava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.SQLException
Each primary key column description has the following columns:
getPrimaryKeys in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those
without a schematable - a table nameResultSet - each row is a primary key column descriptionjava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.SQLException
Each primary key column description has the following columns:
getImportedKeys in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those
without a schematable - a table nameResultSet - each row is a primary key column descriptionjava.sql.SQLException - if a database access error occursgetExportedKeys(java.lang.String, java.lang.String, java.lang.String)public java.sql.ResultSet getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.SQLException
Each foreign key column description has the following columns:
getExportedKeys in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those
without a schematable - a table nameResultSet - each row is a foreign key column descriptionjava.sql.SQLException - if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String)public java.sql.ResultSet getCrossReference(java.lang.String primaryCatalog,
java.lang.String primarySchema,
java.lang.String primaryTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable)
throws java.sql.SQLException
Each foreign key column description has the following columns:
getCrossReference in interface java.sql.DatabaseMetaDataprimaryCatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaprimarySchema - a schema name; "" retrieves those
without a schemaprimaryTable - the table name that exports the keyforeignCatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaforeignSchema - a schema name; "" retrieves those
without a schemaforeignTable - the table name that imports the keyResultSet - each row is a foreign key column descriptionjava.sql.SQLException - if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String)public java.sql.ResultSet getTypeInfo()
throws java.sql.SQLException
Each type description has the following columns:
getTypeInfo in interface java.sql.DatabaseMetaDataResultSet - each row is an SQL type descriptionjava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
throws java.sql.SQLException
Each index column description has the following columns:
getIndexInfo in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema - a schema name; "" retrieves those without a schematable - a table nameunique - when true, return only indices for unique values;
when false, return indices regardless of whether unique or notapproximate - when true, result is allowed to reflect approximate
or out of data values; when false, results are requested to be
accurateResultSet - each row is an index column descriptionjava.sql.SQLException - if a database access error occurspublic boolean supportsResultSetType(int type)
throws java.sql.SQLException
supportsResultSetType in interface java.sql.DatabaseMetaDatatype - defined in java.sql.ResultSettrue if so; false otherwisejava.sql.SQLException - if a database access error occursConnection,
What Is in the JDBC 2.0 APIpublic boolean supportsResultSetConcurrency(int type,
int concurrency)
throws java.sql.SQLException
supportsResultSetConcurrency in interface java.sql.DatabaseMetaDatatype - defined in java.sql.ResultSetconcurrency - type defined in java.sql.ResultSettrue if so; false otherwisejava.sql.SQLException - if a database access error occursConnection,
What Is in the JDBC 2.0 APIpublic boolean ownUpdatesAreVisible(int type)
throws java.sql.SQLException
ownUpdatesAreVisible in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if updates are visible for the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean ownDeletesAreVisible(int type)
throws java.sql.SQLException
ownDeletesAreVisible in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if deletes are visible for the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean ownInsertsAreVisible(int type)
throws java.sql.SQLException
ownInsertsAreVisible in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if inserts are visible for the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean othersUpdatesAreVisible(int type)
throws java.sql.SQLException
othersUpdatesAreVisible in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if updates made by others
are visible for the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean othersDeletesAreVisible(int type)
throws java.sql.SQLException
othersDeletesAreVisible in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if deletes made by others
are visible for the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean othersInsertsAreVisible(int type)
throws java.sql.SQLException
othersInsertsAreVisible in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if inserts made by others
are visible for the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean updatesAreDetected(int type)
throws java.sql.SQLException
ResultSet.rowUpdated.updatesAreDetected in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXtrue if changes are detected by the result set type;
false otherwisejava.sql.SQLException - if a database access error occurspublic boolean deletesAreDetected(int type)
throws java.sql.SQLException
deletesAreDetected in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database access error occurspublic boolean insertsAreDetected(int type)
throws java.sql.SQLException
insertsAreDetected in interface java.sql.DatabaseMetaDatatype - result set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database access error occurspublic boolean supportsBatchUpdates()
throws java.sql.SQLException
supportsBatchUpdates in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types)
throws java.sql.SQLException
getUDTs in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String attributeNamePattern)
throws java.sql.SQLException
getAttributes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSavepoints()
throws java.sql.SQLException
supportsSavepoints in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean supportsNamedParameters()
throws java.sql.SQLException
supportsNamedParameters in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean supportsMultipleOpenResults()
throws java.sql.SQLException
ResultSet
objects returned from a CallableStatement object
simultaneously.supportsMultipleOpenResults in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic boolean supportsGetGeneratedKeys()
throws java.sql.SQLException
supportsGetGeneratedKeys in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet getSuperTypes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
throws java.sql.SQLException
getSuperTypes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
throws java.sql.SQLException
getSuperTables in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsResultSetHoldability(int holdability)
throws java.sql.SQLException
supportsResultSetHoldability in interface java.sql.DatabaseMetaDataholdability - one of the following constants:
ResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMITtrue if the holdability is supported,
false otherwisejava.sql.SQLException - if a database access error occurspublic int getResultSetHoldability()
throws java.sql.SQLException
ResultSet.getResultSetHoldability in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getDatabaseMajorVersion()
throws java.sql.SQLException
getDatabaseMajorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getDatabaseMinorVersion()
throws java.sql.SQLException
getDatabaseMinorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getOdsMajorVersion()
throws java.sql.SQLException
FirebirdDatabaseMetaDatagetOdsMajorVersion in interface FirebirdDatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getOdsMinorVersion()
throws java.sql.SQLException
FirebirdDatabaseMetaDatagetOdsMinorVersion in interface FirebirdDatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic int getDatabaseDialect()
throws java.sql.SQLException
FirebirdDatabaseMetaDatagetDatabaseDialect in interface FirebirdDatabaseMetaDatajava.sql.SQLException - if a database access error occursFirebirdDatabaseMetaData.getConnectionDialect()public int getConnectionDialect()
throws java.sql.SQLException
FirebirdDatabaseMetaDataThe connection dialect may be different from the database dialect.
getConnectionDialect in interface FirebirdDatabaseMetaDatajava.sql.SQLException - if a database access error occursFirebirdDatabaseMetaData.getDatabaseDialect()public int getSQLStateType()
throws java.sql.SQLException
getSQLStateType in interface java.sql.DatabaseMetaDatajava.sql.SQLException - should never be thrown in this implementationpublic boolean supportsStoredFunctionsUsingCallSyntax()
throws java.sql.SQLException
supportsStoredFunctionsUsingCallSyntax in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean autoCommitFailureClosesAllResultSets()
throws java.sql.SQLException
autoCommitFailureClosesAllResultSets in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getClientInfoProperties()
throws java.sql.SQLException
The ResultSet is sorted by the NAME column
getClientInfoProperties in interface java.sql.DatabaseMetaDataResultSet object; each row is a supported client info
property
java.sql.SQLException - if a database access error occurs
public java.sql.ResultSet getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String columnNamePattern)
throws java.sql.SQLException
Only descriptions matching the schema, function and
parameter name criteria are returned. They are ordered by
FUNCTION_CAT, FUNCTION_SCHEM,
FUNCTION_NAME and
SPECIFIC_ 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 ResultSet
is a parameter description, column description or
return type description with the following fields:
null)
null)
ResultSet
FUNCTION_NAME
for example with overload functions
The PRECISION column represents the specified column size for the given parameter or column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getFunctionColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; must match the catalog name as it
is stored in the database; "" retrieves those without a catalog;
null means that the catalog name should not be used to narrow
the searchschemaPattern - a schema name pattern; must match the schema name
as it is stored in the database; "" retrieves those without a schema;
null means that the schema name should not be used to narrow
the searchfunctionNamePattern - a procedure name pattern; must match the
function name as it is stored in the databasecolumnNamePattern - a parameter name pattern; must match the
parameter or column name as it is stored in the databaseResultSet - each row describes a
user function parameter, column or return typejava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
throws java.sql.SQLException
Only system and user function descriptions matching the schema and
function name criteria are returned. They are ordered by
FUNCTION_CAT, FUNCTION_SCHEM,
FUNCTION_NAME and
SPECIFIC_ NAME.
Each function description has the the following columns:
null)
null)
FUNCTION_NAME
for example with overload functions
A user may not have permission to execute any of the functions that are
returned by getFunctions
getFunctions in interface java.sql.DatabaseMetaDatacatalog - a catalog name; must match the catalog name as it
is stored in the database; "" retrieves those without a catalog;
null means that the catalog name should not be used to narrow
the searchschemaPattern - a schema name pattern; must match the schema name
as it is stored in the database; "" retrieves those without a schema;
null means that the schema name should not be used to narrow
the searchfunctionNamePattern - a function name pattern; must match the
function name as it is stored in the databaseResultSet - each row is a function descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getSchemas(java.lang.String catalog,
java.lang.String schemaPattern)
throws java.sql.SQLException
TABLE_CATALOG and
TABLE_SCHEM.
The schema columns are:
null)
getSchemas in interface java.sql.DatabaseMetaDatacatalog - a catalog name; must match the catalog name as it is stored
in the database;"" retrieves those without a catalog; null means catalog
name should not be used to narrow down the search.schemaPattern - a schema name; must match the schema name as it is
stored in the database; null means
schema name should not be used to narrow down the search.ResultSet object in which each row is a
schema descriptionjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public boolean isWrapperFor(java.lang.Class<?> iface)
throws java.sql.SQLException
isWrapperFor in interface java.sql.Wrapperjava.sql.SQLExceptionpublic <T> T unwrap(java.lang.Class<T> iface)
throws java.sql.SQLException
unwrap in interface java.sql.Wrapperjava.sql.SQLExceptionprotected static boolean isAllCondition(java.lang.String pattern)
public static boolean hasNoWildcards(java.lang.String pattern)
pattern - The pattern to be checked for wildcardstrue if there are no wildcards in the pattern,
false otherwisepublic static java.lang.String stripEscape(java.lang.String pattern)
pattern - The string to be strippedpublic static java.lang.String escapeWildcards(java.lang.String objectName)
\_% in the provided search string with a \.objectName - Object name to escape (not null).protected java.lang.String getWantsSystemTables(java.lang.String[] types)
protected java.lang.String getWantsTables(java.lang.String[] types)
protected java.lang.String getWantsViews(java.lang.String[] types)
public java.sql.ResultSet getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
throws java.sql.SQLException
getPseudoColumns in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean generatedKeyAlwaysReturned()
throws java.sql.SQLException
generatedKeyAlwaysReturned in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getProcedureSourceCode(java.lang.String procedureName)
throws java.sql.SQLException
FirebirdDatabaseMetaDatagetProcedureSourceCode in interface FirebirdDatabaseMetaDataprocedureName - name of the stored procedure.java.sql.SQLException - if specified procedure cannot be found.public java.lang.String getTriggerSourceCode(java.lang.String triggerName)
throws java.sql.SQLException
FirebirdDatabaseMetaDatagetTriggerSourceCode in interface FirebirdDatabaseMetaDatatriggerName - name of the trigger.java.sql.SQLException - if specified trigger cannot be found.public java.lang.String getViewSourceCode(java.lang.String viewName)
throws java.sql.SQLException
FirebirdDatabaseMetaDatagetViewSourceCode in interface FirebirdDatabaseMetaDataviewName - name of the view.java.sql.SQLException - if specified view cannot be found.protected static byte[] getBytes(java.lang.String value)
protected java.sql.ResultSet doQuery(java.lang.String sql,
java.util.List<java.lang.String> params)
throws java.sql.SQLException
sql - The sql statement to be used for the queryparams - The parameters to be used in the queryjava.sql.SQLException - if a database access error occursprotected java.sql.ResultSet doQuery(java.lang.String sql,
java.util.List<java.lang.String> params,
boolean standalone)
throws java.sql.SQLException
sql - The sql statement to be used for the queryparams - The parameters to be used in the querystandalone - The query to be executed is a standalone query (should not be cached and be closed asap)java.sql.SQLException - if a database access error occurspublic java.sql.RowIdLifetime getRowIdLifetime()
throws java.sql.SQLException
ROWID type,
and if so the lifetime for which a RowId object remains valid.
The returned int values have the following relationship:
ROWID_UNSUPPORTED < ROWID_VALID_OTHER < ROWID_VALID_TRANSACTION
< ROWID_VALID_SESSION < ROWID_VALID_FOREVER
so conditional logic such as
if (metadata.getRowIdLifetime() > DatabaseMetaData.ROWID_VALID_TRANSACTION)
can be used. Valid Forever means valid across all Sessions, and valid for
a Session means valid across all its contained Transactions.getRowIdLifetime in interface java.sql.DatabaseMetaDataRowIdjava.sql.SQLException - if a database access error occurspublic int getJDBCMajorVersion()
getJDBCMajorVersion in interface java.sql.DatabaseMetaDatapublic int getJDBCMinorVersion()
getJDBCMinorVersion in interface java.sql.DatabaseMetaDataCopyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.