Class FBDatabaseMetaData
- java.lang.Object
-
- org.firebirdsql.jdbc.FBDatabaseMetaData
-
- All Implemented Interfaces:
java.sql.DatabaseMetaData,java.sql.Wrapper,FirebirdDatabaseMetaData
public class FBDatabaseMetaData extends java.lang.Object implements FirebirdDatabaseMetaData
Comprehensive information about the database as a whole.- Author:
- David Jencks, Mark Rotteveel
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringGLOBAL_TEMPORARYstatic java.lang.StringSYSTEM_TABLEstatic java.lang.StringTABLEstatic java.lang.StringVIEW-
Fields 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 Modifier Constructor Description protectedFBDatabaseMetaData(FBConnection c)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallProceduresAreCallable()booleanallTablesAreSelectable()booleanautoCommitFailureClosesAllResultSets()voidclose()Closes any cached metadata statements held by this database metadata implementation.booleandataDefinitionCausesTransactionCommit()booleandataDefinitionIgnoredInTransactions()booleandeletesAreDetected(int type)booleandoesMaxRowSizeIncludeBlobs()protected java.sql.ResultSetdoQuery(java.lang.String sql, java.util.List<java.lang.String> params)Execute an SQL query with a given set of parameters.protected java.sql.ResultSetdoQuery(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.StringescapeWildcards(java.lang.String objectName)Escapes the like wildcards and escape (\_%in the provided search string with a\.booleangeneratedKeyAlwaysReturned()java.sql.ResultSetgetAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern)java.sql.ResultSetgetBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable)protected static byte[]getBytes(java.lang.String value)java.sql.ResultSetgetCatalogs()java.lang.StringgetCatalogSeparator()java.lang.StringgetCatalogTerm()java.sql.ResultSetgetClientInfoProperties()java.sql.ResultSetgetColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern)java.sql.ResultSetgetColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)java.sql.ConnectiongetConnection()intgetConnectionDialect()Get the dialect of the connection.java.sql.ResultSetgetCrossReference(java.lang.String primaryCatalog, java.lang.String primarySchema, java.lang.String primaryTable, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTable)intgetDatabaseDialect()Get the dialect of the database.intgetDatabaseMajorVersion()intgetDatabaseMinorVersion()java.lang.StringgetDatabaseProductName()java.lang.StringgetDatabaseProductVersion()protected DbMetadataMediatorgetDbMetadataMediator()intgetDefaultTransactionIsolation()intgetDriverMajorVersion()intgetDriverMinorVersion()java.lang.StringgetDriverName()java.lang.StringgetDriverVersion()java.sql.ResultSetgetExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)java.lang.StringgetExtraNameCharacters()java.sql.ResultSetgetFunctionColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern, java.lang.String columnNamePattern)java.sql.ResultSetgetFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern)java.lang.StringgetIdentifierQuoteString()java.sql.ResultSetgetImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)java.sql.ResultSetgetIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate)intgetJDBCMajorVersion()intgetJDBCMinorVersion()intgetMaxBinaryLiteralLength()intgetMaxCatalogNameLength()intgetMaxCharLiteralLength()intgetMaxColumnNameLength()intgetMaxColumnsInGroupBy()intgetMaxColumnsInIndex()intgetMaxColumnsInOrderBy()intgetMaxColumnsInSelect()intgetMaxColumnsInTable()intgetMaxConnections()intgetMaxCursorNameLength()intgetMaxIndexLength()intgetMaxProcedureNameLength()intgetMaxRowSize()intgetMaxSchemaNameLength()intgetMaxStatementLength()intgetMaxStatements()intgetMaxTableNameLength()intgetMaxTablesInSelect()intgetMaxUserNameLength()java.lang.StringgetNumericFunctions()intgetOdsMajorVersion()Get the major version of the ODS (On-Disk Structure) of the database.intgetOdsMinorVersion()Get the minor version of the ODS (On-Disk Structure) of the database.java.sql.ResultSetgetPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)java.sql.ResultSetgetProcedureColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern)java.sql.ResultSetgetProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern)java.lang.StringgetProcedureSourceCode(java.lang.String procedureName)Get the source of a stored procedure.java.lang.StringgetProcedureTerm()java.sql.ResultSetgetPseudoColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)intgetResultSetHoldability()java.sql.RowIdLifetimegetRowIdLifetime()java.sql.ResultSetgetSchemas()java.sql.ResultSetgetSchemas(java.lang.String catalog, java.lang.String schemaPattern)java.lang.StringgetSchemaTerm()java.lang.StringgetSearchStringEscape()java.lang.StringgetSQLKeywords()intgetSQLStateType()java.lang.StringgetStringFunctions()java.sql.ResultSetgetSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)java.sql.ResultSetgetSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)java.lang.StringgetSystemFunctions()java.sql.ResultSetgetTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)java.sql.ResultSetgetTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types)java.lang.String[]getTableTypeNames()Supported table type names.java.sql.ResultSetgetTableTypes()java.lang.StringgetTimeDateFunctions()java.lang.StringgetTriggerSourceCode(java.lang.String triggerName)Get the source of a trigger.java.sql.ResultSetgetTypeInfo()java.sql.ResultSetgetUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types)java.lang.StringgetURL()java.lang.StringgetUserName()java.sql.ResultSetgetVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table)java.lang.StringgetViewSourceCode(java.lang.String viewName)Get the source of a view.booleaninsertsAreDetected(int type)booleanisCatalogAtStart()booleanisReadOnly()booleanisWrapperFor(java.lang.Class<?> iface)booleanlocatorsUpdateCopy()booleannullPlusNonNullIsNull()booleannullsAreSortedAtEnd()booleannullsAreSortedAtStart()booleannullsAreSortedHigh()booleannullsAreSortedLow()booleanothersDeletesAreVisible(int type)booleanothersInsertsAreVisible(int type)booleanothersUpdatesAreVisible(int type)booleanownDeletesAreVisible(int type)booleanownInsertsAreVisible(int type)booleanownUpdatesAreVisible(int type)booleanstoresLowerCaseIdentifiers()booleanstoresLowerCaseQuotedIdentifiers()booleanstoresMixedCaseIdentifiers()booleanstoresMixedCaseQuotedIdentifiers()booleanstoresUpperCaseIdentifiers()booleanstoresUpperCaseQuotedIdentifiers()booleansupportsAlterTableWithAddColumn()booleansupportsAlterTableWithDropColumn()booleansupportsANSI92EntryLevelSQL()booleansupportsANSI92FullSQL()booleansupportsANSI92IntermediateSQL()booleansupportsBatchUpdates()booleansupportsCatalogsInDataManipulation()booleansupportsCatalogsInIndexDefinitions()booleansupportsCatalogsInPrivilegeDefinitions()booleansupportsCatalogsInProcedureCalls()booleansupportsCatalogsInTableDefinitions()booleansupportsColumnAliasing()booleansupportsConvert()booleansupportsConvert(int fromType, int toType)booleansupportsCoreSQLGrammar()booleansupportsCorrelatedSubqueries()booleansupportsDataDefinitionAndDataManipulationTransactions()booleansupportsDataManipulationTransactionsOnly()booleansupportsDifferentTableCorrelationNames()booleansupportsExpressionsInOrderBy()booleansupportsExtendedSQLGrammar()booleansupportsFullOuterJoins()booleansupportsGetGeneratedKeys()booleansupportsGroupBy()booleansupportsGroupByBeyondSelect()booleansupportsGroupByUnrelated()booleansupportsIntegrityEnhancementFacility()booleansupportsLikeEscapeClause()booleansupportsLimitedOuterJoins()booleansupportsMinimumSQLGrammar()booleansupportsMixedCaseIdentifiers()booleansupportsMixedCaseQuotedIdentifiers()booleansupportsMultipleOpenResults()booleansupportsMultipleResultSets()booleansupportsMultipleTransactions()booleansupportsNamedParameters()booleansupportsNonNullableColumns()booleansupportsOpenCursorsAcrossCommit()booleansupportsOpenCursorsAcrossRollback()booleansupportsOpenStatementsAcrossCommit()booleansupportsOpenStatementsAcrossRollback()booleansupportsOrderByUnrelated()booleansupportsOuterJoins()booleansupportsPositionedDelete()booleansupportsPositionedUpdate()booleansupportsResultSetConcurrency(int type, int concurrency)booleansupportsResultSetHoldability(int holdability)booleansupportsResultSetType(int type)booleansupportsSavepoints()booleansupportsSchemasInDataManipulation()booleansupportsSchemasInIndexDefinitions()booleansupportsSchemasInPrivilegeDefinitions()booleansupportsSchemasInProcedureCalls()booleansupportsSchemasInTableDefinitions()booleansupportsSelectForUpdate()booleansupportsStatementPooling()booleansupportsStoredFunctionsUsingCallSyntax()booleansupportsStoredProcedures()booleansupportsSubqueriesInComparisons()booleansupportsSubqueriesInExists()booleansupportsSubqueriesInIns()booleansupportsSubqueriesInQuantifieds()booleansupportsTableCorrelationNames()booleansupportsTransactionIsolationLevel(int level)booleansupportsTransactions()booleansupportsUnion()booleansupportsUnionAll()<T> Tunwrap(java.lang.Class<T> iface)booleanupdatesAreDetected(int type)booleanusesLocalFilePerTable()booleanusesLocalFiles()
-
-
-
Field Detail
-
TABLE
public static final java.lang.String TABLE
- See Also:
- Constant Field Values
-
SYSTEM_TABLE
public static final java.lang.String SYSTEM_TABLE
- See Also:
- Constant Field Values
-
VIEW
public static final java.lang.String VIEW
- See Also:
- Constant Field Values
-
GLOBAL_TEMPORARY
public static final java.lang.String GLOBAL_TEMPORARY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FBDatabaseMetaData
protected FBDatabaseMetaData(FBConnection c) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
-
Method Detail
-
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
public boolean allProceduresAreCallable() throws java.sql.SQLException- Specified by:
allProceduresAreCallablein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
allTablesAreSelectable
public boolean allTablesAreSelectable() throws java.sql.SQLException- Specified by:
allTablesAreSelectablein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getURL
public java.lang.String getURL() throws java.sql.SQLException- Specified by:
getURLin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getUserName
public java.lang.String getUserName() throws java.sql.SQLException- Specified by:
getUserNamein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
isReadOnly
public boolean isReadOnly() throws java.sql.SQLException- Specified by:
isReadOnlyin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
nullsAreSortedHigh
public boolean nullsAreSortedHigh() throws java.sql.SQLException- Specified by:
nullsAreSortedHighin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
nullsAreSortedLow
public boolean nullsAreSortedLow() throws java.sql.SQLException- Specified by:
nullsAreSortedLowin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
nullsAreSortedAtStart
public boolean nullsAreSortedAtStart() throws java.sql.SQLException- Specified by:
nullsAreSortedAtStartin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
nullsAreSortedAtEnd
public boolean nullsAreSortedAtEnd() throws java.sql.SQLException- Specified by:
nullsAreSortedAtEndin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDatabaseProductName
public java.lang.String getDatabaseProductName() throws java.sql.SQLException- Specified by:
getDatabaseProductNamein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDatabaseProductVersion
public java.lang.String getDatabaseProductVersion() throws java.sql.SQLException- Specified by:
getDatabaseProductVersionin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDriverName
public java.lang.String getDriverName() throws java.sql.SQLException- Specified by:
getDriverNamein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDriverVersion
public java.lang.String getDriverVersion() throws java.sql.SQLException- Specified by:
getDriverVersionin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDriverMajorVersion
public int getDriverMajorVersion()
- Specified by:
getDriverMajorVersionin interfacejava.sql.DatabaseMetaData
-
getDriverMinorVersion
public int getDriverMinorVersion()
- Specified by:
getDriverMinorVersionin interfacejava.sql.DatabaseMetaData
-
usesLocalFiles
public boolean usesLocalFiles() throws java.sql.SQLException- Specified by:
usesLocalFilesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
usesLocalFilePerTable
public boolean usesLocalFilePerTable() throws java.sql.SQLException- Specified by:
usesLocalFilePerTablein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsMixedCaseIdentifiers
public boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException- Specified by:
supportsMixedCaseIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsStatementPooling
public boolean supportsStatementPooling() throws java.sql.SQLException- Specified by:
supportsStatementPoolingin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
locatorsUpdateCopy
public boolean locatorsUpdateCopy() throws java.sql.SQLException- Specified by:
locatorsUpdateCopyin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
storesUpperCaseIdentifiers
public boolean storesUpperCaseIdentifiers() throws java.sql.SQLException- Specified by:
storesUpperCaseIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
storesLowerCaseIdentifiers
public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException- Specified by:
storesLowerCaseIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
storesMixedCaseIdentifiers
public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException- Specified by:
storesMixedCaseIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsMixedCaseQuotedIdentifiers
public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException- Specified by:
supportsMixedCaseQuotedIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
storesUpperCaseQuotedIdentifiers
public boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException- Specified by:
storesUpperCaseQuotedIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
storesLowerCaseQuotedIdentifiers
public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException- Specified by:
storesLowerCaseQuotedIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
storesMixedCaseQuotedIdentifiers
public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException- Specified by:
storesMixedCaseQuotedIdentifiersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getIdentifierQuoteString
public java.lang.String getIdentifierQuoteString() throws java.sql.SQLException- Specified by:
getIdentifierQuoteStringin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSQLKeywords
public java.lang.String getSQLKeywords() throws java.sql.SQLException- Specified by:
getSQLKeywordsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getNumericFunctions
public java.lang.String getNumericFunctions() throws java.sql.SQLExceptionNOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getNumericFunctionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getStringFunctions
public java.lang.String getStringFunctions() throws java.sql.SQLExceptionNOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getStringFunctionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSystemFunctions
public java.lang.String getSystemFunctions() throws java.sql.SQLExceptionNOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getSystemFunctionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getTimeDateFunctions
public java.lang.String getTimeDateFunctions() throws java.sql.SQLExceptionNOTE: Some of the functions listed may only work on Firebird 2.1 or higher, or when equivalent UDFs are installed.
- Specified by:
getTimeDateFunctionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSearchStringEscape
public java.lang.String getSearchStringEscape() throws java.sql.SQLException- Specified by:
getSearchStringEscapein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getExtraNameCharacters
public java.lang.String getExtraNameCharacters() throws java.sql.SQLException- Specified by:
getExtraNameCharactersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsAlterTableWithAddColumn
public boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException- Specified by:
supportsAlterTableWithAddColumnin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsAlterTableWithDropColumn
public boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException- Specified by:
supportsAlterTableWithDropColumnin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsColumnAliasing
public boolean supportsColumnAliasing() throws java.sql.SQLException- Specified by:
supportsColumnAliasingin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
nullPlusNonNullIsNull
public boolean nullPlusNonNullIsNull() throws java.sql.SQLException- Specified by:
nullPlusNonNullIsNullin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsConvert
public boolean supportsConvert() throws java.sql.SQLException- Specified by:
supportsConvertin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsConvert
public boolean supportsConvert(int fromType, int toType) throws java.sql.SQLExceptionSee also
org.firebirdsql.jdbc.escape.ConvertFunctionfor caveats.- Specified by:
supportsConvertin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsTableCorrelationNames
public boolean supportsTableCorrelationNames() throws java.sql.SQLException- Specified by:
supportsTableCorrelationNamesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsDifferentTableCorrelationNames
public boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException- Specified by:
supportsDifferentTableCorrelationNamesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsExpressionsInOrderBy
public boolean supportsExpressionsInOrderBy() throws java.sql.SQLException- Specified by:
supportsExpressionsInOrderByin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsOrderByUnrelated
public boolean supportsOrderByUnrelated() throws java.sql.SQLException- Specified by:
supportsOrderByUnrelatedin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsGroupBy
public boolean supportsGroupBy() throws java.sql.SQLException- Specified by:
supportsGroupByin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsGroupByUnrelated
public boolean supportsGroupByUnrelated() throws java.sql.SQLException- Specified by:
supportsGroupByUnrelatedin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsGroupByBeyondSelect
public boolean supportsGroupByBeyondSelect() throws java.sql.SQLException- Specified by:
supportsGroupByBeyondSelectin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsLikeEscapeClause
public boolean supportsLikeEscapeClause() throws java.sql.SQLException- Specified by:
supportsLikeEscapeClausein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsMultipleResultSets
public boolean supportsMultipleResultSets() throws java.sql.SQLException- Specified by:
supportsMultipleResultSetsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsMultipleTransactions
public boolean supportsMultipleTransactions() throws java.sql.SQLException- Specified by:
supportsMultipleTransactionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsNonNullableColumns
public boolean supportsNonNullableColumns() throws java.sql.SQLException- Specified by:
supportsNonNullableColumnsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsMinimumSQLGrammar
public boolean supportsMinimumSQLGrammar() throws java.sql.SQLException- Specified by:
supportsMinimumSQLGrammarin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCoreSQLGrammar
public boolean supportsCoreSQLGrammar() throws java.sql.SQLException- Specified by:
supportsCoreSQLGrammarin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsExtendedSQLGrammar
public boolean supportsExtendedSQLGrammar() throws java.sql.SQLException- Specified by:
supportsExtendedSQLGrammarin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsANSI92EntryLevelSQL
public boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException- Specified by:
supportsANSI92EntryLevelSQLin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsANSI92IntermediateSQL
public boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException- Specified by:
supportsANSI92IntermediateSQLin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsANSI92FullSQL
public boolean supportsANSI92FullSQL() throws java.sql.SQLException- Specified by:
supportsANSI92FullSQLin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsIntegrityEnhancementFacility
public boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException- Specified by:
supportsIntegrityEnhancementFacilityin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsOuterJoins
public boolean supportsOuterJoins() throws java.sql.SQLException- Specified by:
supportsOuterJoinsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsFullOuterJoins
public boolean supportsFullOuterJoins() throws java.sql.SQLException- Specified by:
supportsFullOuterJoinsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsLimitedOuterJoins
public boolean supportsLimitedOuterJoins() throws java.sql.SQLException- Specified by:
supportsLimitedOuterJoinsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSchemaTerm
public java.lang.String getSchemaTerm() throws java.sql.SQLException- Specified by:
getSchemaTermin interfacejava.sql.DatabaseMetaData- Returns:
- the vendor term, always
nullbecause schemas are not supported by database server (see JDBC CTS for details). - Throws:
java.sql.SQLException
-
getProcedureTerm
public java.lang.String getProcedureTerm() throws java.sql.SQLException- Specified by:
getProcedureTermin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getCatalogTerm
public java.lang.String getCatalogTerm() throws java.sql.SQLException- Specified by:
getCatalogTermin interfacejava.sql.DatabaseMetaData- Returns:
- the vendor term, always
nullbecause catalogs are not supported by database server (see JDBC CTS for details). - Throws:
java.sql.SQLException
-
isCatalogAtStart
public boolean isCatalogAtStart() throws java.sql.SQLException- Specified by:
isCatalogAtStartin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getCatalogSeparator
public java.lang.String getCatalogSeparator() throws java.sql.SQLException- Specified by:
getCatalogSeparatorin interfacejava.sql.DatabaseMetaData- Returns:
- the separator string, always
nullbecause catalogs are not supported by database server (see JDBC CTS for details). - Throws:
java.sql.SQLException
-
supportsSchemasInDataManipulation
public boolean supportsSchemasInDataManipulation() throws java.sql.SQLException- Specified by:
supportsSchemasInDataManipulationin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSchemasInProcedureCalls
public boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException- Specified by:
supportsSchemasInProcedureCallsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSchemasInTableDefinitions
public boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException- Specified by:
supportsSchemasInTableDefinitionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSchemasInIndexDefinitions
public boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException- Specified by:
supportsSchemasInIndexDefinitionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSchemasInPrivilegeDefinitions
public boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException- Specified by:
supportsSchemasInPrivilegeDefinitionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCatalogsInDataManipulation
public boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException- Specified by:
supportsCatalogsInDataManipulationin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCatalogsInProcedureCalls
public boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException- Specified by:
supportsCatalogsInProcedureCallsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCatalogsInTableDefinitions
public boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException- Specified by:
supportsCatalogsInTableDefinitionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCatalogsInIndexDefinitions
public boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException- Specified by:
supportsCatalogsInIndexDefinitionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCatalogsInPrivilegeDefinitions
public boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException- Specified by:
supportsCatalogsInPrivilegeDefinitionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsPositionedDelete
public boolean supportsPositionedDelete() throws java.sql.SQLException- Specified by:
supportsPositionedDeletein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsPositionedUpdate
public boolean supportsPositionedUpdate() throws java.sql.SQLException- Specified by:
supportsPositionedUpdatein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSelectForUpdate
public boolean supportsSelectForUpdate() throws java.sql.SQLException- Specified by:
supportsSelectForUpdatein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsStoredProcedures
public boolean supportsStoredProcedures() throws java.sql.SQLException- Specified by:
supportsStoredProceduresin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSubqueriesInComparisons
public boolean supportsSubqueriesInComparisons() throws java.sql.SQLException- Specified by:
supportsSubqueriesInComparisonsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSubqueriesInExists
public boolean supportsSubqueriesInExists() throws java.sql.SQLException- Specified by:
supportsSubqueriesInExistsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSubqueriesInIns
public boolean supportsSubqueriesInIns() throws java.sql.SQLException- Specified by:
supportsSubqueriesInInsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSubqueriesInQuantifieds
public boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException- Specified by:
supportsSubqueriesInQuantifiedsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsCorrelatedSubqueries
public boolean supportsCorrelatedSubqueries() throws java.sql.SQLException- Specified by:
supportsCorrelatedSubqueriesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsUnion
public boolean supportsUnion() throws java.sql.SQLException- Specified by:
supportsUnionin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsUnionAll
public boolean supportsUnionAll() throws java.sql.SQLException- Specified by:
supportsUnionAllin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsOpenCursorsAcrossCommit
public boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException- Specified by:
supportsOpenCursorsAcrossCommitin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsOpenCursorsAcrossRollback
public boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException- Specified by:
supportsOpenCursorsAcrossRollbackin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsOpenStatementsAcrossCommit
public boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException- Specified by:
supportsOpenStatementsAcrossCommitin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsOpenStatementsAcrossRollback
public boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException- Specified by:
supportsOpenStatementsAcrossRollbackin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxBinaryLiteralLength
public int getMaxBinaryLiteralLength() throws java.sql.SQLException- Specified by:
getMaxBinaryLiteralLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxCharLiteralLength
public int getMaxCharLiteralLength() throws java.sql.SQLException- Specified by:
getMaxCharLiteralLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxColumnNameLength
public int getMaxColumnNameLength() throws java.sql.SQLException- Specified by:
getMaxColumnNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxColumnsInGroupBy
public int getMaxColumnsInGroupBy() throws java.sql.SQLException- Specified by:
getMaxColumnsInGroupByin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxColumnsInIndex
public int getMaxColumnsInIndex() throws java.sql.SQLException- Specified by:
getMaxColumnsInIndexin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxColumnsInOrderBy
public int getMaxColumnsInOrderBy() throws java.sql.SQLException- Specified by:
getMaxColumnsInOrderByin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxColumnsInSelect
public int getMaxColumnsInSelect() throws java.sql.SQLException- Specified by:
getMaxColumnsInSelectin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxColumnsInTable
public int getMaxColumnsInTable() throws java.sql.SQLException- Specified by:
getMaxColumnsInTablein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxConnections
public int getMaxConnections() throws java.sql.SQLException- Specified by:
getMaxConnectionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxCursorNameLength
public int getMaxCursorNameLength() throws java.sql.SQLException- Specified by:
getMaxCursorNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxIndexLength
public int getMaxIndexLength() throws java.sql.SQLException- Specified by:
getMaxIndexLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxSchemaNameLength
public int getMaxSchemaNameLength() throws java.sql.SQLException- Specified by:
getMaxSchemaNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxProcedureNameLength
public int getMaxProcedureNameLength() throws java.sql.SQLException- Specified by:
getMaxProcedureNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxCatalogNameLength
public int getMaxCatalogNameLength() throws java.sql.SQLException- Specified by:
getMaxCatalogNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxRowSize
public int getMaxRowSize() throws java.sql.SQLException- Specified by:
getMaxRowSizein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
doesMaxRowSizeIncludeBlobs
public boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException- Specified by:
doesMaxRowSizeIncludeBlobsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxStatementLength
public int getMaxStatementLength() throws java.sql.SQLException- Specified by:
getMaxStatementLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxStatements
public int getMaxStatements() throws java.sql.SQLException- Specified by:
getMaxStatementsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxTableNameLength
public int getMaxTableNameLength() throws java.sql.SQLException- Specified by:
getMaxTableNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxTablesInSelect
public int getMaxTablesInSelect() throws java.sql.SQLException- Specified by:
getMaxTablesInSelectin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getMaxUserNameLength
public int getMaxUserNameLength() throws java.sql.SQLException- Specified by:
getMaxUserNameLengthin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation() throws java.sql.SQLException- Specified by:
getDefaultTransactionIsolationin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsTransactions
public boolean supportsTransactions() throws java.sql.SQLException- Specified by:
supportsTransactionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsTransactionIsolationLevel
public boolean supportsTransactionIsolationLevel(int level) throws java.sql.SQLException- Specified by:
supportsTransactionIsolationLevelin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsDataDefinitionAndDataManipulationTransactions
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLExceptionAlthough 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 interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsDataManipulationTransactionsOnly
public boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException- Specified by:
supportsDataManipulationTransactionsOnlyin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
dataDefinitionCausesTransactionCommit
public boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLExceptionRead the note on
supportsDataDefinitionAndDataManipulationTransactions().- Specified by:
dataDefinitionCausesTransactionCommitin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
dataDefinitionIgnoredInTransactions
public boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLExceptionRead the note on
supportsDataDefinitionAndDataManipulationTransactions().- Specified by:
dataDefinitionIgnoredInTransactionsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getProcedures
public java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern) throws java.sql.SQLException- Specified by:
getProceduresin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getProcedureColumns
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- Specified by:
getProcedureColumnsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getTables
public java.sql.ResultSet getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types) throws java.sql.SQLExceptionJaybird defines these additional columns:
- OWNER_NAME String => Owner of the table
- JB_RELATION_ID Short => Value of
RDB$RELATIONS.RDB$RELATION_IDof the table
- Specified by:
getTablesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSchemas
public java.sql.ResultSet getSchemas() throws java.sql.SQLException- Specified by:
getSchemasin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getCatalogs
public java.sql.ResultSet getCatalogs() throws java.sql.SQLException- Specified by:
getCatalogsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getTableTypes
public java.sql.ResultSet getTableTypes() throws java.sql.SQLException- Specified by:
getTableTypesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getTableTypeNames
public java.lang.String[] getTableTypeNames() throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- For problems determining supported table types- See Also:
DatabaseMetaData.getTableTypes()
-
getColumns
public java.sql.ResultSet getColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLExceptionJaybird 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 interfacejava.sql.DatabaseMetaData- Throws:
java.sql.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 java.sql.ResultSet getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern) throws java.sql.SQLExceptionJaybird defines an additional column:
- JB_GRANTEE_TYPE String => Object type of
GRANTEE(NOTE: Jaybird specific column; retrieve by name!).
Privileges granted to the table as a whole are reported for each individual column.
NOTE: This implementation returns all privileges, not just applicable to the current user. It is unclear if this complies with the JDBC requirements. This may change in the future to only return only privileges applicable to the current user, user
PUBLICand — maybe — active roles. This note does not apply to theOOREMOTEsub-protocol, which already restricts privileges to the current user andPUBLIC.- Specified by:
getColumnPrivilegesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
- JB_GRANTEE_TYPE String => Object type of
-
getTablePrivileges
public java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLExceptionJaybird defines an additional column:
- JB_GRANTEE_TYPE String => Object type of
GRANTEE(NOTE: Jaybird specific column; retrieve by name!).
NOTE: This implementation returns all privileges, not just applicable to the current user. It is unclear if this complies with the JDBC requirements. This may change in the future to only return only privileges applicable to the current user, user
PUBLICand — maybe — active roles. This note does not apply to theOOREMOTEsub-protocol, which already restricts privileges to the current user andPUBLIC.- Specified by:
getTablePrivilegesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
- JB_GRANTEE_TYPE String => Object type of
-
getBestRowIdentifier
public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable) throws java.sql.SQLExceptionJaybird 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 interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getVersionColumns
public java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLExceptionJaybird 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 interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getPrimaryKeys
public java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException- Specified by:
getPrimaryKeysin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getImportedKeys
public java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException- Specified by:
getImportedKeysin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getExportedKeys
public java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException- Specified by:
getExportedKeysin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getCrossReference
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- Specified by:
getCrossReferencein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getTypeInfo
public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException- Specified by:
getTypeInfoin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getIndexInfo
public java.sql.ResultSet getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate) throws java.sql.SQLException- Specified by:
getIndexInfoin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsResultSetType
public boolean supportsResultSetType(int type) throws java.sql.SQLException- Specified by:
supportsResultSetTypein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsResultSetConcurrency
public boolean supportsResultSetConcurrency(int type, int concurrency) throws java.sql.SQLException- Specified by:
supportsResultSetConcurrencyin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
ownUpdatesAreVisible
public boolean ownUpdatesAreVisible(int type) throws java.sql.SQLException- Specified by:
ownUpdatesAreVisiblein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
ownDeletesAreVisible
public boolean ownDeletesAreVisible(int type) throws java.sql.SQLException- Specified by:
ownDeletesAreVisiblein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
ownInsertsAreVisible
public boolean ownInsertsAreVisible(int type) throws java.sql.SQLException- Specified by:
ownInsertsAreVisiblein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
othersUpdatesAreVisible
public boolean othersUpdatesAreVisible(int type) throws java.sql.SQLException- Specified by:
othersUpdatesAreVisiblein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
othersDeletesAreVisible
public boolean othersDeletesAreVisible(int type) throws java.sql.SQLException- Specified by:
othersDeletesAreVisiblein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
othersInsertsAreVisible
public boolean othersInsertsAreVisible(int type) throws java.sql.SQLException- Specified by:
othersInsertsAreVisiblein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
updatesAreDetected
public boolean updatesAreDetected(int type) throws java.sql.SQLException- Specified by:
updatesAreDetectedin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
deletesAreDetected
public boolean deletesAreDetected(int type) throws java.sql.SQLException- Specified by:
deletesAreDetectedin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
insertsAreDetected
public boolean insertsAreDetected(int type) throws java.sql.SQLException- Specified by:
insertsAreDetectedin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsBatchUpdates
public boolean supportsBatchUpdates() throws java.sql.SQLException- Specified by:
supportsBatchUpdatesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getUDTs
public java.sql.ResultSet getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types) throws java.sql.SQLExceptionUDTs are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getUDTsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLException- Specified by:
getConnectionin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getAttributes
public java.sql.ResultSet getAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern) throws java.sql.SQLExceptionUDTs are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getAttributesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsSavepoints
public boolean supportsSavepoints() throws java.sql.SQLException- Specified by:
supportsSavepointsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsNamedParameters
public boolean supportsNamedParameters() throws java.sql.SQLException- Specified by:
supportsNamedParametersin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsMultipleOpenResults
public boolean supportsMultipleOpenResults() throws java.sql.SQLException- Specified by:
supportsMultipleOpenResultsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsGetGeneratedKeys
public boolean supportsGetGeneratedKeys() throws java.sql.SQLException- Specified by:
supportsGetGeneratedKeysin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSuperTypes
public java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLExceptionSupertypes are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getSuperTypesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSuperTables
public java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLExceptionSupertables are not supported by Firebird. This method will always return an empty ResultSet.
- Specified by:
getSuperTablesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsResultSetHoldability
public boolean supportsResultSetHoldability(int holdability) throws java.sql.SQLException- Specified by:
supportsResultSetHoldabilityin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getResultSetHoldability
public int getResultSetHoldability() throws java.sql.SQLException- Specified by:
getResultSetHoldabilityin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDatabaseMajorVersion
public int getDatabaseMajorVersion() throws java.sql.SQLException- Specified by:
getDatabaseMajorVersionin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getDatabaseMinorVersion
public int getDatabaseMinorVersion() throws java.sql.SQLException- Specified by:
getDatabaseMinorVersionin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getOdsMajorVersion
public int getOdsMajorVersion() throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- if a database access error occurs
-
getOdsMinorVersion
public int getOdsMinorVersion() throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- if a database access error occurs
-
getDatabaseDialect
public int getDatabaseDialect() throws java.sql.SQLExceptionDescription copied from interface:FirebirdDatabaseMetaDataGet the dialect of the database.- Specified by:
getDatabaseDialectin interfaceFirebirdDatabaseMetaData- Returns:
- The dialect of the database
- Throws:
java.sql.SQLException- if a database access error occurs- See Also:
FirebirdDatabaseMetaData.getConnectionDialect()
-
getConnectionDialect
public int getConnectionDialect() throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- if a database access error occurs- See Also:
FirebirdDatabaseMetaData.getDatabaseDialect()
-
getSQLStateType
public int getSQLStateType() throws java.sql.SQLExceptionFirebird primarily uses SQL standard SQL states, but may occasionally use values from X/Open.
- Specified by:
getSQLStateTypein interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
supportsStoredFunctionsUsingCallSyntax
public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException- Specified by:
supportsStoredFunctionsUsingCallSyntaxin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
autoCommitFailureClosesAllResultSets
public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLExceptionThe holdable result sets remain open, others are closed, but this happens before the statement is executed.
- Specified by:
autoCommitFailureClosesAllResultSetsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getClientInfoProperties
public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException- Specified by:
getClientInfoPropertiesin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getFunctionColumns
public java.sql.ResultSet getFunctionColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLExceptionThis method does not return columns of functions defined in packages.
- Specified by:
getFunctionColumnsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getFunctions
public java.sql.ResultSet getFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern) throws java.sql.SQLExceptionJaybird 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 interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getSchemas
public java.sql.ResultSet getSchemas(java.lang.String catalog, java.lang.String schemaPattern) throws java.sql.SQLException- Specified by:
getSchemasin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException- Specified by:
isWrapperForin interfacejava.sql.Wrapper- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException- Specified by:
unwrapin interfacejava.sql.Wrapper- Throws:
java.sql.SQLException
-
escapeWildcards
public static java.lang.String escapeWildcards(java.lang.String objectName)
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.
-
getPseudoColumns
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- Specified by:
getPseudoColumnsin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
generatedKeyAlwaysReturned
public boolean generatedKeyAlwaysReturned() throws java.sql.SQLException- Specified by:
generatedKeyAlwaysReturnedin interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getProcedureSourceCode
public java.lang.String getProcedureSourceCode(java.lang.String procedureName) throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- if specified procedure cannot be found.
-
getTriggerSourceCode
public java.lang.String getTriggerSourceCode(java.lang.String triggerName) throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- if specified trigger cannot be found.
-
getViewSourceCode
public java.lang.String getViewSourceCode(java.lang.String viewName) throws java.sql.SQLExceptionDescription 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:
java.sql.SQLException- if specified view cannot be found.
-
getBytes
protected static byte[] getBytes(java.lang.String value)
-
doQuery
protected java.sql.ResultSet doQuery(java.lang.String sql, java.util.List<java.lang.String> params) throws java.sql.SQLExceptionExecute 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:
java.sql.SQLException- if a database access error occurs
-
doQuery
protected java.sql.ResultSet doQuery(java.lang.String sql, java.util.List<java.lang.String> params, boolean standalone) throws java.sql.SQLExceptionExecute 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:
java.sql.SQLException- if a database access error occurs
-
getRowIdLifetime
public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLExceptionMinimum 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 interfacejava.sql.DatabaseMetaData- Throws:
java.sql.SQLException
-
getJDBCMajorVersion
public int getJDBCMajorVersion()
- Specified by:
getJDBCMajorVersionin interfacejava.sql.DatabaseMetaData
-
getJDBCMinorVersion
public int getJDBCMinorVersion()
- Specified by:
getJDBCMinorVersionin interfacejava.sql.DatabaseMetaData
-
getDbMetadataMediator
protected DbMetadataMediator getDbMetadataMediator()
-
-