Module org.firebirdsql.jaybird
Package org.firebirdsql.jdbc

# Interface FirebirdDatabaseMetaData

All Superinterfaces:
  `DatabaseMetaData`, `Wrapper`

All Known Implementing Classes:
  `FBDatabaseMetaData`

public interface FirebirdDatabaseMetaData extends DatabaseMetaData
Extension of `DatabaseMetaData` interface providing access to Firebird specific features.

Author:
  Michael Romankiewicz

## Field Summary

### 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`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Closes any cached metadata statements held by this database metadata implementation.
`int`
`getConnectionDialect()`
Get the dialect of the connection.
`int`
`getDatabaseDialect()`
Get the dialect of the database.
`int`
`getMaxObjectNameLength()`
The default maximum identifier length.
`int`
`getOdsMajorVersion()`
Get the major version of the ODS (On-Disk Structure) of the database.
`int`
`getOdsMinorVersion()`
Get the minor version of the ODS (On-Disk Structure) of the database.
`String`
`getProcedureSourceCode(String procedureName)`
Get the source of a stored procedure.
`String[]`
`getTableTypeNames()`
Supported table type names.
`String`
`getTriggerSourceCode(String triggerName)`
Get the source of a trigger.
`String`
`getViewSourceCode(String viewName)`
Get the source of a view.

### Methods inherited from interface java.sql.DatabaseMetaData

`allProceduresAreCallable, allTablesAreSelectable, autoCommitFailureClosesAllResultSets, dataDefinitionCausesTransactionCommit, dataDefinitionIgnoredInTransactions, deletesAreDetected, doesMaxRowSizeIncludeBlobs, generatedKeyAlwaysReturned, getAttributes, getBestRowIdentifier, getCatalogs, getCatalogSeparator, getCatalogTerm, getClientInfoProperties, getColumnPrivileges, getColumns, getConnection, getCrossReference, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDefaultTransactionIsolation, getDriverMajorVersion, getDriverMinorVersion, getDriverName, getDriverVersion, getExportedKeys, getExtraNameCharacters, getFunctionColumns, getFunctions, getIdentifierQuoteString, getImportedKeys, getIndexInfo, getJDBCMajorVersion, getJDBCMinorVersion, getMaxBinaryLiteralLength, getMaxCatalogNameLength, getMaxCharLiteralLength, getMaxColumnNameLength, getMaxColumnsInGroupBy, getMaxColumnsInIndex, getMaxColumnsInOrderBy, getMaxColumnsInSelect, getMaxColumnsInTable, getMaxConnections, getMaxCursorNameLength, getMaxIndexLength, getMaxLogicalLobSize, getMaxProcedureNameLength, getMaxRowSize, getMaxSchemaNameLength, getMaxStatementLength, getMaxStatements, getMaxTableNameLength, getMaxTablesInSelect, getMaxUserNameLength, getNumericFunctions, getPrimaryKeys, getProcedureColumns, getProcedures, getProcedureTerm, getPseudoColumns, getResultSetHoldability, getRowIdLifetime, getSchemas, getSchemas, getSchemaTerm, getSearchStringEscape, getSQLKeywords, getSQLStateType, getStringFunctions, getSuperTables, getSuperTypes, getSystemFunctions, getTablePrivileges, getTables, getTableTypes, getTimeDateFunctions, getTypeInfo, getUDTs, getURL, getUserName, getVersionColumns, insertsAreDetected, isCatalogAtStart, isReadOnly, locatorsUpdateCopy, nullPlusNonNullIsNull, nullsAreSortedAtEnd, nullsAreSortedAtStart, nullsAreSortedHigh, nullsAreSortedLow, othersDeletesAreVisible, othersInsertsAreVisible, othersUpdatesAreVisible, ownDeletesAreVisible, ownInsertsAreVisible, ownUpdatesAreVisible, storesLowerCaseIdentifiers, storesLowerCaseQuotedIdentifiers, storesMixedCaseIdentifiers, storesMixedCaseQuotedIdentifiers, storesUpperCaseIdentifiers, storesUpperCaseQuotedIdentifiers, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsANSI92EntryLevelSQL, supportsANSI92FullSQL, supportsANSI92IntermediateSQL, supportsBatchUpdates, supportsCatalogsInDataManipulation, supportsCatalogsInIndexDefinitions, supportsCatalogsInPrivilegeDefinitions, supportsCatalogsInProcedureCalls, supportsCatalogsInTableDefinitions, supportsColumnAliasing, supportsConvert, supportsConvert, supportsCoreSQLGrammar, supportsCorrelatedSubqueries, supportsDataDefinitionAndDataManipulationTransactions, supportsDataManipulationTransactionsOnly, supportsDifferentTableCorrelationNames, supportsExpressionsInOrderBy, supportsExtendedSQLGrammar, supportsFullOuterJoins, supportsGetGeneratedKeys, supportsGroupBy, supportsGroupByBeyondSelect, supportsGroupByUnrelated, supportsIntegrityEnhancementFacility, supportsLikeEscapeClause, supportsLimitedOuterJoins, supportsMinimumSQLGrammar, supportsMixedCaseIdentifiers, supportsMixedCaseQuotedIdentifiers, supportsMultipleOpenResults, supportsMultipleResultSets, supportsMultipleTransactions, supportsNamedParameters, supportsNonNullableColumns, supportsOpenCursorsAcrossCommit, supportsOpenCursorsAcrossRollback, supportsOpenStatementsAcrossCommit, supportsOpenStatementsAcrossRollback, supportsOrderByUnrelated, supportsOuterJoins, supportsPositionedDelete, supportsPositionedUpdate, supportsRefCursors, supportsResultSetConcurrency, supportsResultSetHoldability, supportsResultSetType, supportsSavepoints, supportsSchemasInDataManipulation, supportsSchemasInIndexDefinitions, supportsSchemasInPrivilegeDefinitions, supportsSchemasInProcedureCalls, supportsSchemasInTableDefinitions, supportsSelectForUpdate, supportsSharding, supportsStatementPooling, supportsStoredFunctionsUsingCallSyntax, supportsStoredProcedures, supportsSubqueriesInComparisons, supportsSubqueriesInExists, supportsSubqueriesInIns, supportsSubqueriesInQuantifieds, supportsTableCorrelationNames, supportsTransactionIsolationLevel, supportsTransactions, supportsUnion, supportsUnionAll, updatesAreDetected, usesLocalFilePerTable, usesLocalFiles`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

## Method Details

### getProcedureSourceCode

String getProcedureSourceCode(String procedureName) throws SQLException
Get the source of a stored procedure.

Parameters:
  `procedureName` - name of the stored procedure.
Returns:
  source of the stored procedure.
Throws:
  `SQLException` - if specified procedure cannot be found.

### getTriggerSourceCode

String getTriggerSourceCode(String triggerName) throws SQLException
Get the source of a trigger.

Parameters:
  `triggerName` - name of the trigger.
Returns:
  source of the trigger.
Throws:
  `SQLException` - if specified trigger cannot be found.

### getViewSourceCode

String getViewSourceCode(String viewName) throws SQLException
Get the source of a view.

Parameters:
  `viewName` - name of the view.
Returns:
  source of the view.
Throws:
  `SQLException` - if specified view cannot be found.

### getOdsMajorVersion

int getOdsMajorVersion() throws SQLException
Get the major version of the ODS (On-Disk Structure) of the database.

Returns:
  The major version number of the database itself
Throws:
  `SQLException` - if a database access error occurs

### getOdsMinorVersion

int getOdsMinorVersion() throws SQLException
Get the minor version of the ODS (On-Disk Structure) of the database.

Returns:
  The minor version number of the database itself
Throws:
  `SQLException` - if a database access error occurs

### getDatabaseDialect

int getDatabaseDialect() throws SQLException
Get the dialect of the database.

Returns:
  The dialect of the database
Throws:
  `SQLException` - if a database access error occurs
See Also:
  - `getConnectionDialect()`

### getConnectionDialect

int getConnectionDialect() throws SQLException
Get the dialect of the connection.

The connection dialect may be different from the database dialect.

Returns:
  The dialect of the connection
Throws:
  `SQLException` - if a database access error occurs
See Also:
  - `getDatabaseDialect()`

### close

void close()
Closes 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.

### getTableTypeNames

String[] getTableTypeNames() throws SQLException
Supported table type names.

Returns:
  An array with the supported table types names for `DatabaseMetaData.getTables(String, String, String, String[])`
Throws:
  `SQLException` - For problems determining supported table types
Since:
  4.0
See Also:
  - `DatabaseMetaData.getTableTypes()`

### getMaxObjectNameLength

int getMaxObjectNameLength() throws SQLException
The default maximum identifier length.

NOTE: This method reports the standard maximum length, and does not take into account restrictions configured through `MaxIdentifierByteLength` or `MaxIdentifierCharLength`.

Returns:
  the (default) maximum identifier length
Throws:
  `SQLException`