Package org.firebirdsql.jdbc

## Interface FirebirdDatabaseMetaData

All Superinterfaces:
  `java.sql.DatabaseMetaData`, `java.sql.Wrapper`

All Known Implementing Classes:
  `FBDatabaseMetaData`

    public interface FirebirdDatabaseMetaData
    extends java.sql.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

All Methods Instance Methods Abstract Methods
`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` `getOdsMajorVersion()` Get the major version of the ODS (On-Disk Structure) of the database.
`int` `getOdsMinorVersion()` Get the minor version of the ODS (On-Disk Structure) of the database.
`java.lang.String` `getProcedureSourceCode​(java.lang.String procedureName)` Get the source of a stored procedure.
`java.lang.String[]` `getTableTypeNames()` Supported table type names.
`java.lang.String` `getTriggerSourceCode​(java.lang.String triggerName)` Get the source of a trigger.
`java.lang.String` `getViewSourceCode​(java.lang.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 Detail

#### getProcedureSourceCode

    java.lang.String getProcedureSourceCode​(java.lang.String procedureName)
                                     throws java.sql.SQLException

Get the source of a stored procedure.

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

#### getTriggerSourceCode

    java.lang.String getTriggerSourceCode​(java.lang.String triggerName)
                                   throws java.sql.SQLException

Get the source of a trigger.

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

#### getViewSourceCode

    java.lang.String getViewSourceCode​(java.lang.String viewName)
                                throws java.sql.SQLException

Get the source of a view.

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

#### getOdsMajorVersion

    int getOdsMajorVersion()
                    throws java.sql.SQLException

Get the major version of the ODS (On-Disk Structure) of the database.

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

#### getOdsMinorVersion

    int getOdsMinorVersion()
                    throws java.sql.SQLException

Get the minor version of the ODS (On-Disk Structure) of the database.

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

#### getDatabaseDialect

    int getDatabaseDialect()
                    throws java.sql.SQLException

Get the dialect of the database.

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

#### getConnectionDialect

    int getConnectionDialect()
                      throws java.sql.SQLException

Get the dialect of the connection.

The connection dialect may be different from the database dialect.

Returns:
  The dialect of the connection
Throws:
  `java.sql.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

    java.lang.String[] getTableTypeNames()
                                  throws java.sql.SQLException

Supported table type names.

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
Since:
  4.0
See Also:
  `DatabaseMetaData.getTableTypes()`