Class FBDatabaseMetaData
- All Implemented Interfaces:
DatabaseMetaData,Wrapper,FirebirdDatabaseMetaData
- Author:
- David Jencks, Mark Rotteveel
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final DatatypeCoderstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from interface java.sql.DatabaseMetaData
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanbooleanprotected final RowDescriptorvoidclose()Closes any cached metadata statements held by this database metadata implementation.booleanbooleanbooleandeletesAreDetected(int type) booleanprotected ResultSetExecute an sql query with a given set of parameters.protected ResultSetExecute an sql query with a given set of parameters.static StringescapeWildcards(String objectName) Escapes the like wildcards and escape (\_%in the provided search string with a\.booleangetAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) protected static byte[]getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) intGet the dialect of the connection.getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) intGet the dialect of the database.intintprotected DbMetadataMediatorintintintgetExportedKeys(String catalog, String schema, String table) getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) getFunctions(String catalog, String schemaPattern, String functionNamePattern) getImportedKeys(String catalog, String schema, String table) getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) intintintintintintintintintintintintintintintintintintintintintintintGet the major version of the ODS (On-Disk Structure) of the database.intGet the minor version of the ODS (On-Disk Structure) of the database.getPrimaryKeys(String catalog, String schema, String table) getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) getProcedures(String catalog, String schemaPattern, String procedureNamePattern) getProcedureSourceCode(String procedureName) Get the source of a stored procedure.getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) intgetSchemas(String catalog, String schemaPattern) intgetSuperTables(String catalog, String schemaPattern, String tableNamePattern) getSuperTypes(String catalog, String schemaPattern, String tableNamePattern) getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) String[]Supported table type names.getTriggerSourceCode(String triggerName) Get the source of a trigger.getURL()getVersionColumns(String catalog, String schema, String table) getViewSourceCode(String viewName) Get the source of a view.protected StringgetWantsSystemTables(String[] types) protected StringgetWantsTables(String[] types) protected StringgetWantsViews(String[] types) static booleanhasNoWildcards(String pattern) Deprecated.Will be removed in Jaybird 5booleaninsertsAreDetected(int type) booleanbooleanbooleanisWrapperFor(Class<?> iface) booleanbooleanbooleanbooleanbooleanbooleanbooleanothersDeletesAreVisible(int type) booleanothersInsertsAreVisible(int type) booleanothersUpdatesAreVisible(int type) booleanownDeletesAreVisible(int type) booleanownInsertsAreVisible(int type) booleanownUpdatesAreVisible(int type) protected final FBResultSetprocessTablePrivileges(RowDescriptor rowDescriptor, ResultSet fbTablePrivileges) booleanbooleanbooleanbooleanbooleanbooleanstatic StringstripEscape(String pattern) Deprecated.Will be removed in Jaybird 5booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleansupportsConvert(int fromType, int toType) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleansupportsResultSetConcurrency(int type, int concurrency) booleansupportsResultSetHoldability(int holdability) booleansupportsResultSetType(int type) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleansupportsTransactionIsolationLevel(int level) booleanbooleanboolean<T> TbooleanupdatesAreDetected(int type) booleanbooleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.sql.DatabaseMetaData
getMaxLogicalLobSize, supportsRefCursors, supportsSharding
-
Field Details
-
datatypeCoder
-
TABLE
- See Also:
-
SYSTEM_TABLE
- See Also:
-
VIEW
- See Also:
-
GLOBAL_TEMPORARY
- See Also:
-
GET_COLUMNS_END
- See Also:
-
-
Constructor Details
-
FBDatabaseMetaData
- Throws:
SQLException
-
-
Method Details
-
close
public void close()Description copied from interface:FirebirdDatabaseMetaDataCloses any cached metadata statements held by this database metadata implementation.The database metadata object itself remains usable. Exceptions during statement close are logged and suppressed.
- Specified by:
closein interfaceFirebirdDatabaseMetaData
-
allProceduresAreCallable
- Specified by:
allProceduresAreCallablein interfaceDatabaseMetaData- Throws:
SQLException
-
allTablesAreSelectable
- Specified by:
allTablesAreSelectablein interfaceDatabaseMetaData- Throws:
SQLException
-
getURL
- Specified by:
getURLin interfaceDatabaseMetaData- Throws:
SQLException
-
getUserName
- Specified by:
getUserNamein interfaceDatabaseMetaData- Throws:
SQLException
-
isReadOnly
- Specified by:
isReadOnlyin interfaceDatabaseMetaData- Throws:
SQLException
-
nullsAreSortedHigh
- Specified by:
nullsAreSortedHighin interfaceDatabaseMetaData- Throws:
SQLException
-
nullsAreSortedLow
- Specified by:
nullsAreSortedLowin interfaceDatabaseMetaData- Throws:
SQLException
-
nullsAreSortedAtStart
- Specified by:
nullsAreSortedAtStartin interfaceDatabaseMetaData- Throws:
SQLException
-
nullsAreSortedAtEnd
- Specified by:
nullsAreSortedAtEndin interfaceDatabaseMetaData- Throws:
SQLException
-
getDatabaseProductName
- Specified by:
getDatabaseProductNamein interfaceDatabaseMetaData- Throws:
SQLException
-
getDatabaseProductVersion
- Specified by:
getDatabaseProductVersionin interfaceDatabaseMetaData- Throws:
SQLException
-
getDriverName
- Specified by:
getDriverNamein interfaceDatabaseMetaData- Throws:
SQLException
-
getDriverVersion
- Specified by:
getDriverVersionin interfaceDatabaseMetaData- Throws:
SQLException
-
getDriverMajorVersion
public int getDriverMajorVersion()- Specified by:
getDriverMajorVersionin interfaceDatabaseMetaData
-
getDriverMinorVersion
public int getDriverMinorVersion()- Specified by:
getDriverMinorVersionin interfaceDatabaseMetaData
-
usesLocalFiles
- Specified by:
usesLocalFilesin interfaceDatabaseMetaData- Throws:
SQLException
-
usesLocalFilePerTable
- Specified by:
usesLocalFilePerTablein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsMixedCaseIdentifiers
- Specified by:
supportsMixedCaseIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsStatementPooling
- Specified by:
supportsStatementPoolingin interfaceDatabaseMetaData- Throws:
SQLException
-
locatorsUpdateCopy
- Specified by:
locatorsUpdateCopyin interfaceDatabaseMetaData- Throws:
SQLException
-
storesUpperCaseIdentifiers
- Specified by:
storesUpperCaseIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
storesLowerCaseIdentifiers
- Specified by:
storesLowerCaseIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
storesMixedCaseIdentifiers
- Specified by:
storesMixedCaseIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsMixedCaseQuotedIdentifiers
- Specified by:
supportsMixedCaseQuotedIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
storesUpperCaseQuotedIdentifiers
- Specified by:
storesUpperCaseQuotedIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
storesLowerCaseQuotedIdentifiers
- Specified by:
storesLowerCaseQuotedIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
storesMixedCaseQuotedIdentifiers
- Specified by:
storesMixedCaseQuotedIdentifiersin interfaceDatabaseMetaData- Throws:
SQLException
-
getIdentifierQuoteString
- Specified by:
getIdentifierQuoteStringin interfaceDatabaseMetaData- Throws:
SQLException
-
getSQLKeywords
- Specified by:
getSQLKeywordsin interfaceDatabaseMetaData- Throws:
SQLException
-
getNumericFunctions
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getNumericFunctionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getStringFunctions
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getStringFunctionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getSystemFunctions
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getSystemFunctionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getTimeDateFunctions
NOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getTimeDateFunctionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getSearchStringEscape
- Specified by:
getSearchStringEscapein interfaceDatabaseMetaData- Throws:
SQLException
-
getExtraNameCharacters
- Specified by:
getExtraNameCharactersin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsAlterTableWithAddColumn
- Specified by:
supportsAlterTableWithAddColumnin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsAlterTableWithDropColumn
- Specified by:
supportsAlterTableWithDropColumnin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsColumnAliasing
- Specified by:
supportsColumnAliasingin interfaceDatabaseMetaData- Throws:
SQLException
-
nullPlusNonNullIsNull
- Specified by:
nullPlusNonNullIsNullin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsConvert
- Specified by:
supportsConvertin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsConvert
See also
org.firebirdsql.jdbc.escape.ConvertFunctionfor caveats.- Specified by:
supportsConvertin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsTableCorrelationNames
- Specified by:
supportsTableCorrelationNamesin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsDifferentTableCorrelationNames
- Specified by:
supportsDifferentTableCorrelationNamesin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsExpressionsInOrderBy
- Specified by:
supportsExpressionsInOrderByin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsGroupBy
- Specified by:
supportsGroupByin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsGroupByBeyondSelect
- Specified by:
supportsGroupByBeyondSelectin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsLikeEscapeClause
- Specified by:
supportsLikeEscapeClausein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsMultipleResultSets
- Specified by:
supportsMultipleResultSetsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsMultipleTransactions
- Specified by:
supportsMultipleTransactionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsNonNullableColumns
- Specified by:
supportsNonNullableColumnsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsMinimumSQLGrammar
- Specified by:
supportsMinimumSQLGrammarin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsCoreSQLGrammar
- Specified by:
supportsCoreSQLGrammarin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsExtendedSQLGrammar
- Specified by:
supportsExtendedSQLGrammarin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsANSI92EntryLevelSQL
- Specified by:
supportsANSI92EntryLevelSQLin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsANSI92IntermediateSQL
- Specified by:
supportsANSI92IntermediateSQLin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsANSI92FullSQL
- Specified by:
supportsANSI92FullSQLin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsIntegrityEnhancementFacility
- Specified by:
supportsIntegrityEnhancementFacilityin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsOuterJoins
- Specified by:
supportsOuterJoinsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsFullOuterJoins
- Specified by:
supportsFullOuterJoinsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsLimitedOuterJoins
- Specified by:
supportsLimitedOuterJoinsin interfaceDatabaseMetaData- Throws:
SQLException
-
getSchemaTerm
- Specified by:
getSchemaTermin interfaceDatabaseMetaData- Returns:
- the vendor term, always
nullbecause schemas are not supported by database server (see JDBC CTS for details). - Throws:
SQLException
-
getProcedureTerm
- Specified by:
getProcedureTermin interfaceDatabaseMetaData- Throws:
SQLException
-
getCatalogTerm
- Specified by:
getCatalogTermin interfaceDatabaseMetaData- Returns:
- the vendor term, always
nullbecause catalogs are not supported by database server (see JDBC CTS for details). - Throws:
SQLException
-
isCatalogAtStart
- Specified by:
isCatalogAtStartin interfaceDatabaseMetaData- Throws:
SQLException
-
getCatalogSeparator
- Specified by:
getCatalogSeparatorin interfaceDatabaseMetaData- Returns:
- the separator string, always
nullbecause catalogs are not supported by database server (see JDBC CTS for details). - Throws:
SQLException
-
supportsSchemasInDataManipulation
- Specified by:
supportsSchemasInDataManipulationin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSchemasInProcedureCalls
- Specified by:
supportsSchemasInProcedureCallsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSchemasInTableDefinitions
- Specified by:
supportsSchemasInTableDefinitionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSchemasInIndexDefinitions
- Specified by:
supportsSchemasInIndexDefinitionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSchemasInPrivilegeDefinitions
- Specified by:
supportsSchemasInPrivilegeDefinitionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsCatalogsInDataManipulation
- Specified by:
supportsCatalogsInDataManipulationin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsCatalogsInProcedureCalls
- Specified by:
supportsCatalogsInProcedureCallsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsCatalogsInTableDefinitions
- Specified by:
supportsCatalogsInTableDefinitionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsCatalogsInIndexDefinitions
- Specified by:
supportsCatalogsInIndexDefinitionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsCatalogsInPrivilegeDefinitions
- Specified by:
supportsCatalogsInPrivilegeDefinitionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsPositionedDelete
- Specified by:
supportsPositionedDeletein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsPositionedUpdate
- Specified by:
supportsPositionedUpdatein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSelectForUpdate
- Specified by:
supportsSelectForUpdatein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsStoredProcedures
- Specified by:
supportsStoredProceduresin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSubqueriesInComparisons
- Specified by:
supportsSubqueriesInComparisonsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSubqueriesInExists
- Specified by:
supportsSubqueriesInExistsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSubqueriesInIns
- Specified by:
supportsSubqueriesInInsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSubqueriesInQuantifieds
- Specified by:
supportsSubqueriesInQuantifiedsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsUnion
- Specified by:
supportsUnionin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsUnionAll
- Specified by:
supportsUnionAllin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsOpenCursorsAcrossCommit
- Specified by:
supportsOpenCursorsAcrossCommitin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsOpenCursorsAcrossRollback
- Specified by:
supportsOpenCursorsAcrossRollbackin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsOpenStatementsAcrossCommit
- Specified by:
supportsOpenStatementsAcrossCommitin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsOpenStatementsAcrossRollback
- Specified by:
supportsOpenStatementsAcrossRollbackin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxBinaryLiteralLength
- Specified by:
getMaxBinaryLiteralLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxCharLiteralLength
- Specified by:
getMaxCharLiteralLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxColumnNameLength
- Specified by:
getMaxColumnNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxColumnsInGroupBy
- Specified by:
getMaxColumnsInGroupByin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxColumnsInIndex
- Specified by:
getMaxColumnsInIndexin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxColumnsInOrderBy
- Specified by:
getMaxColumnsInOrderByin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxColumnsInSelect
- Specified by:
getMaxColumnsInSelectin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxColumnsInTable
- Specified by:
getMaxColumnsInTablein interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxConnections
- Specified by:
getMaxConnectionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxCursorNameLength
- Specified by:
getMaxCursorNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxIndexLength
- Specified by:
getMaxIndexLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxSchemaNameLength
- Specified by:
getMaxSchemaNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxProcedureNameLength
- Specified by:
getMaxProcedureNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxCatalogNameLength
- Specified by:
getMaxCatalogNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxRowSize
- Specified by:
getMaxRowSizein interfaceDatabaseMetaData- Throws:
SQLException
-
doesMaxRowSizeIncludeBlobs
- Specified by:
doesMaxRowSizeIncludeBlobsin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxStatementLength
- Specified by:
getMaxStatementLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxStatements
- Specified by:
getMaxStatementsin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxTableNameLength
- Specified by:
getMaxTableNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxTablesInSelect
- Specified by:
getMaxTablesInSelectin interfaceDatabaseMetaData- Throws:
SQLException
-
getMaxUserNameLength
- Specified by:
getMaxUserNameLengthin interfaceDatabaseMetaData- Throws:
SQLException
-
getDefaultTransactionIsolation
- Specified by:
getDefaultTransactionIsolationin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsTransactions
- Specified by:
supportsTransactionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsTransactionIsolationLevel
- Specified by:
supportsTransactionIsolationLevelin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsDataDefinitionAndDataManipulationTransactions
Although Firebird supports both DML and DDL in transactions, it is not possible to use objects in the same transaction that defines them. For example, it is not possible to insert into a table in the same transaction that created it.
- Specified by:
supportsDataDefinitionAndDataManipulationTransactionsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsDataManipulationTransactionsOnly
- Specified by:
supportsDataManipulationTransactionsOnlyin interfaceDatabaseMetaData- Throws:
SQLException
-
dataDefinitionCausesTransactionCommit
Read the note on
supportsDataDefinitionAndDataManipulationTransactions().- Specified by:
dataDefinitionCausesTransactionCommitin interfaceDatabaseMetaData- Throws:
SQLException
-
dataDefinitionIgnoredInTransactions
Read the note on
supportsDataDefinitionAndDataManipulationTransactions().- Specified by:
dataDefinitionIgnoredInTransactionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getProcedures
public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException - Specified by:
getProceduresin interfaceDatabaseMetaData- Throws:
SQLException
-
getProcedureColumns
public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException - Specified by:
getProcedureColumnsin interfaceDatabaseMetaData- Throws:
SQLException
-
getTables
public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException - Specified by:
getTablesin interfaceDatabaseMetaData- Throws:
SQLException
-
getSchemas
- Specified by:
getSchemasin interfaceDatabaseMetaData- Throws:
SQLException
-
getCatalogs
- Specified by:
getCatalogsin interfaceDatabaseMetaData- Throws:
SQLException
-
getTableTypes
- Specified by:
getTableTypesin interfaceDatabaseMetaData- Throws:
SQLException
-
getTableTypeNames
Description copied from interface:FirebirdDatabaseMetaDataSupported table type names.- Specified by:
getTableTypeNamesin interfaceFirebirdDatabaseMetaData- Returns:
- An array with the supported table types names for
DatabaseMetaData.getTables(String, String, String, String[]) - Throws:
SQLException- For problems determining supported table types- See Also:
-
getColumns
public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException Jaybird defines these additional columns:
- JB_IS_IDENTITY String => Indicates whether this column is an identity column (NOTE: Jaybird
specific column; retrieve by name!).
There is a subtle difference with the meaning of
IS_AUTOINCREMENT. This column indicates if the column is a true identity column.- YES --- if the column is an identity column
- NO --- if the column is not an identity column
- JB_IDENTITY_TYPE String => Type of identity column (NOTE: Jaybird specific column; retrieve by
name!)
- ALWAYS --- for a GENERATED ALWAYS AS IDENTITY column (not yet supported in Firebird 3!)
- BY DEFAULT --- for a GENERATED BY DEFAULT AS IDENTITY column
- null --- if the column is not an identity type (or the identity type is unknown)
- Specified by:
getColumnsin interfaceDatabaseMetaData- Throws:
SQLException
- JB_IS_IDENTITY String => Indicates whether this column is an identity column (NOTE: Jaybird
specific column; retrieve by name!).
There is a subtle difference with the meaning of
-
getColumnPrivileges
public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException - Specified by:
getColumnPrivilegesin interfaceDatabaseMetaData- Throws:
SQLException
-
getTablePrivileges
public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException - Specified by:
getTablePrivilegesin interfaceDatabaseMetaData- Throws:
SQLException
-
buildTablePrivilegeRSMetaData
-
processTablePrivileges
protected final FBResultSet processTablePrivileges(RowDescriptor rowDescriptor, ResultSet fbTablePrivileges) throws SQLException - Throws:
SQLException
-
getBestRowIdentifier
public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException Jaybird considers the primary key (scoped as
bestRowSessionas the best identifier for all scopes. Pseudo columnRDB$DB_KEY(scoped asbestRowTransactionis considered the second-best alternative for scopesbestRowTemporaryandbestRowTransactioniftablehas no primary key.Jaybird currently considers
RDB$DB_KEYto beDatabaseMetaData.bestRowTransactioneven if the dbkey_scope is set to 1 (session). This may change in the future. See alsogetRowIdLifetime().- Specified by:
getBestRowIdentifierin interfaceDatabaseMetaData- Throws:
SQLException
-
getVersionColumns
Jaybird considers both
RDB$DB_KEYandRDB$RECORD_VERSION(Firebird 3 and higher) as version columns.Jaybird only returns pseudo-column as version columns, so 'last updated' columns updated by a trigger, calculated columns, or other forms of change tracking are not reported by this method.
- Specified by:
getVersionColumnsin interfaceDatabaseMetaData- Throws:
SQLException
-
getPrimaryKeys
- Specified by:
getPrimaryKeysin interfaceDatabaseMetaData- Throws:
SQLException
-
getImportedKeys
- Specified by:
getImportedKeysin interfaceDatabaseMetaData- Throws:
SQLException
-
getExportedKeys
- Specified by:
getExportedKeysin interfaceDatabaseMetaData- Throws:
SQLException
-
getCrossReference
public ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException - Specified by:
getCrossReferencein interfaceDatabaseMetaData- Throws:
SQLException
-
getTypeInfo
- Specified by:
getTypeInfoin interfaceDatabaseMetaData- Throws:
SQLException
-
getIndexInfo
public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException - Specified by:
getIndexInfoin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsResultSetType
- Specified by:
supportsResultSetTypein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsResultSetConcurrency
- Specified by:
supportsResultSetConcurrencyin interfaceDatabaseMetaData- Throws:
SQLException
-
ownUpdatesAreVisible
- Specified by:
ownUpdatesAreVisiblein interfaceDatabaseMetaData- Throws:
SQLException
-
ownDeletesAreVisible
- Specified by:
ownDeletesAreVisiblein interfaceDatabaseMetaData- Throws:
SQLException
-
ownInsertsAreVisible
- Specified by:
ownInsertsAreVisiblein interfaceDatabaseMetaData- Throws:
SQLException
-
othersUpdatesAreVisible
- Specified by:
othersUpdatesAreVisiblein interfaceDatabaseMetaData- Throws:
SQLException
-
othersDeletesAreVisible
- Specified by:
othersDeletesAreVisiblein interfaceDatabaseMetaData- Throws:
SQLException
-
othersInsertsAreVisible
- Specified by:
othersInsertsAreVisiblein interfaceDatabaseMetaData- Throws:
SQLException
-
updatesAreDetected
- Specified by:
updatesAreDetectedin interfaceDatabaseMetaData- Throws:
SQLException
-
deletesAreDetected
- Specified by:
deletesAreDetectedin interfaceDatabaseMetaData- Throws:
SQLException
-
insertsAreDetected
- Specified by:
insertsAreDetectedin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsBatchUpdates
- Specified by:
supportsBatchUpdatesin interfaceDatabaseMetaData- Throws:
SQLException
-
getUDTs
public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException UDTs are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getUDTsin interfaceDatabaseMetaData- Throws:
SQLException
-
getConnection
- Specified by:
getConnectionin interfaceDatabaseMetaData- Throws:
SQLException
-
getAttributes
public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException UDTs are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getAttributesin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsSavepoints
- Specified by:
supportsSavepointsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsNamedParameters
- Specified by:
supportsNamedParametersin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsMultipleOpenResults
- Specified by:
supportsMultipleOpenResultsin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsGetGeneratedKeys
- Specified by:
supportsGetGeneratedKeysin interfaceDatabaseMetaData- Throws:
SQLException
-
getSuperTypes
public ResultSet getSuperTypes(String catalog, String schemaPattern, String tableNamePattern) throws SQLException Supertypes are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getSuperTypesin interfaceDatabaseMetaData- Throws:
SQLException
-
getSuperTables
public ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException Supertables are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getSuperTablesin interfaceDatabaseMetaData- Throws:
SQLException
-
supportsResultSetHoldability
- Specified by:
supportsResultSetHoldabilityin interfaceDatabaseMetaData- Throws:
SQLException
-
getResultSetHoldability
- Specified by:
getResultSetHoldabilityin interfaceDatabaseMetaData- Throws:
SQLException
-
getDatabaseMajorVersion
- Specified by:
getDatabaseMajorVersionin interfaceDatabaseMetaData- Throws:
SQLException
-
getDatabaseMinorVersion
- Specified by:
getDatabaseMinorVersionin interfaceDatabaseMetaData- Throws:
SQLException
-
getOdsMajorVersion
Description copied from interface:FirebirdDatabaseMetaDataGet the major version of the ODS (On-Disk Structure) of the database.- Specified by:
getOdsMajorVersionin interfaceFirebirdDatabaseMetaData- Returns:
- The major version number of the database itself
- Throws:
SQLException- if a database access error occurs
-
getOdsMinorVersion
Description copied from interface:FirebirdDatabaseMetaDataGet the minor version of the ODS (On-Disk Structure) of the database.- Specified by:
getOdsMinorVersionin interfaceFirebirdDatabaseMetaData- Returns:
- The minor version number of the database itself
- Throws:
SQLException- if a database access error occurs
-
getDatabaseDialect
Description copied from interface:FirebirdDatabaseMetaDataGet the dialect of the database.- Specified by:
getDatabaseDialectin interfaceFirebirdDatabaseMetaData- Returns:
- The dialect of the database
- Throws:
SQLException- if a database access error occurs- See Also:
-
getConnectionDialect
Description copied from interface:FirebirdDatabaseMetaDataGet the dialect of the connection.The connection dialect may be different from the database dialect.
- Specified by:
getConnectionDialectin interfaceFirebirdDatabaseMetaData- Returns:
- The dialect of the connection
- Throws:
SQLException- if a database access error occurs- See Also:
-
getSQLStateType
Firebird primarily uses SQL standard SQL states, but may occasionally use values from X/Open.
- Specified by:
getSQLStateTypein interfaceDatabaseMetaData- Throws:
SQLException
-
supportsStoredFunctionsUsingCallSyntax
- Specified by:
supportsStoredFunctionsUsingCallSyntaxin interfaceDatabaseMetaData- Throws:
SQLException
-
autoCommitFailureClosesAllResultSets
The holdable result sets remain open, others are closed, but this happens before the statement is executed.
- Specified by:
autoCommitFailureClosesAllResultSetsin interfaceDatabaseMetaData- Throws:
SQLException
-
getClientInfoProperties
- Specified by:
getClientInfoPropertiesin interfaceDatabaseMetaData- Throws:
SQLException
-
getFunctionColumns
public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException This method does not return columns of functions defined in packages.
- Specified by:
getFunctionColumnsin interfaceDatabaseMetaData- Throws:
SQLException
-
getFunctions
public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException Jaybird defines a number of additional columns. As these are not defined in JDBC, their position may change with revisions of JDBC. We recommend to retrieve these columns by name. The following additional columns are available:
- JB_FUNCTION_SOURCE String => The source of the function (for Firebird 3+ PSQL functions only)).
- JB_FUNCTION_KIND String => The kind of function, one of "UDF", "PSQL" (Firebird 3+) or "UDR" (Firebird 3+)
- JB_MODULE_NAME String => Value of
RDB$MODULE_NAME(isnullfor PSQL) - JB_ENTRYPOINT String => Value of
RDB$ENTRYPOINT(isnullfor PSQL) - JB_ENGINE_NAME String => Value of
RDB$ENGINE_NAME(isnullfor UDF and PSQL)
This method does not return functions defined in packages.
- Specified by:
getFunctionsin interfaceDatabaseMetaData- Throws:
SQLException
-
getSchemas
- Specified by:
getSchemasin interfaceDatabaseMetaData- Throws:
SQLException
-
isWrapperFor
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
unwrap
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
hasNoWildcards
Deprecated.Will be removed in Jaybird 5Determine if there are no SQL wildcard characters ('%' or '_') in the given pattern.- Parameters:
pattern- The pattern to be checked for wildcards- Returns:
trueif there are no wildcards in the pattern,falseotherwise
-
stripEscape
Deprecated.Will be removed in Jaybird 5Strips all backslash-escapes from a string.- Parameters:
pattern- The string to be stripped- Returns:
- pattern with all backslash-escapes removed
-
escapeWildcards
Escapes the like wildcards and escape (\_%in the provided search string with a\.Primary purpose is to escape object names with wildcards for use in metadata patterns for literal matches, but it can also be used to escape for SQL
LIKE.- Parameters:
objectName- Object name to escape.- Returns:
- Object name with wildcards escaped.
-
getWantsSystemTables
-
getWantsTables
-
getWantsViews
-
getPseudoColumns
public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException - Specified by:
getPseudoColumnsin interfaceDatabaseMetaData- Throws:
SQLException
-
generatedKeyAlwaysReturned
- Specified by:
generatedKeyAlwaysReturnedin interfaceDatabaseMetaData- Throws:
SQLException
-
getProcedureSourceCode
Description copied from interface:FirebirdDatabaseMetaDataGet the source of a stored procedure.- Specified by:
getProcedureSourceCodein interfaceFirebirdDatabaseMetaData- Parameters:
procedureName- name of the stored procedure.- Returns:
- source of the stored procedure.
- Throws:
SQLException- if specified procedure cannot be found.
-
getTriggerSourceCode
Description copied from interface:FirebirdDatabaseMetaDataGet the source of a trigger.- Specified by:
getTriggerSourceCodein interfaceFirebirdDatabaseMetaData- Parameters:
triggerName- name of the trigger.- Returns:
- source of the trigger.
- Throws:
SQLException- if specified trigger cannot be found.
-
getViewSourceCode
Description copied from interface:FirebirdDatabaseMetaDataGet the source of a view.- Specified by:
getViewSourceCodein interfaceFirebirdDatabaseMetaData- Parameters:
viewName- name of the view.- Returns:
- source of the view.
- Throws:
SQLException- if specified view cannot be found.
-
getBytes
-
doQuery
Execute an sql query with a given set of parameters.- Parameters:
sql- The sql statement to be used for the queryparams- The parameters to be used in the query- Throws:
SQLException- if a database access error occurs
-
doQuery
protected ResultSet doQuery(String sql, List<String> params, boolean standalone) throws SQLException Execute an sql query with a given set of parameters.- Parameters:
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)- Throws:
SQLException- if a database access error occurs
-
getRowIdLifetime
Minimum lifetime supported by Firebird is transaction-scope, and this can be changed to session-scope with
isc_dpb_dbkey_scopeset to1(eg connection propertydbkey_scope=1). This implementation, however, will always reportRowIdLifetime.ROWID_VALID_TRANSACTION.- Specified by:
getRowIdLifetimein interfaceDatabaseMetaData- Throws:
SQLException
-
getJDBCMajorVersion
public int getJDBCMajorVersion()- Specified by:
getJDBCMajorVersionin interfaceDatabaseMetaData
-
getJDBCMinorVersion
public int getJDBCMinorVersion()- Specified by:
getJDBCMinorVersionin interfaceDatabaseMetaData
-
getDbMetadataMediator
-