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.
      boolean isReservedWord​(java.lang.String word)
      Returns whether word is a reserved word in Firebird.
      • 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()
      • isReservedWord

        boolean isReservedWord​(java.lang.String word)
                        throws java.sql.SQLException
        Returns whether word is a reserved word in Firebird.

        This method may be inaccurate for unsupported Firebird versions. Jaybird uses internal lists of reserved words per version, and selects the closest matching version if a version is unknown. It does not use the RDB$KEYWORDS table.

        Contrary to DatabaseMetaData.getSQLKeywords(), which only returns reserved words that are not also reserved in SQL:2003, this method checks against all Firebird reserved words. It will return false for SQL:2003 reserved words that are not reserved words in Firebird.

        Parameters:
        word - word to check against the reserved word list (case-insensitive)
        Returns:
        true if word is a reserved word, false otherwise
        Throws:
        java.lang.NullPointerException - if word is null
        java.sql.SQLException - for database access errors
        Since:
        5.0.12