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
    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` | `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()`