Class DatabaseMetaLocal


  • public final class DatabaseMetaLocal
    extends DatabaseMetaLocalBase
    Local implementation of database meta information.
    • Field Detail

      • YES

        private static final Value YES
      • NO

        private static final Value NO
      • BEST_ROW_SESSION

        private static final ValueSmallint BEST_ROW_SESSION
      • BEST_ROW_NOT_PSEUDO

        private static final ValueSmallint BEST_ROW_NOT_PSEUDO
      • COLUMN_NO_NULLS

        private static final ValueInteger COLUMN_NO_NULLS
      • COLUMN_NO_NULLS_SMALL

        private static final ValueSmallint COLUMN_NO_NULLS_SMALL
      • COLUMN_NULLABLE

        private static final ValueInteger COLUMN_NULLABLE
      • COLUMN_NULLABLE_UNKNOWN_SMALL

        private static final ValueSmallint COLUMN_NULLABLE_UNKNOWN_SMALL
      • IMPORTED_KEY_CASCADE

        private static final ValueSmallint IMPORTED_KEY_CASCADE
      • IMPORTED_KEY_RESTRICT

        private static final ValueSmallint IMPORTED_KEY_RESTRICT
      • IMPORTED_KEY_DEFAULT

        private static final ValueSmallint IMPORTED_KEY_DEFAULT
      • IMPORTED_KEY_SET_NULL

        private static final ValueSmallint IMPORTED_KEY_SET_NULL
      • IMPORTED_KEY_NOT_DEFERRABLE

        private static final ValueSmallint IMPORTED_KEY_NOT_DEFERRABLE
      • PROCEDURE_COLUMN_IN

        private static final ValueSmallint PROCEDURE_COLUMN_IN
      • PROCEDURE_COLUMN_RETURN

        private static final ValueSmallint PROCEDURE_COLUMN_RETURN
      • PROCEDURE_NO_RESULT

        private static final ValueSmallint PROCEDURE_NO_RESULT
      • PROCEDURE_RETURNS_RESULT

        private static final ValueSmallint PROCEDURE_RETURNS_RESULT
      • TABLE_INDEX_HASHED

        private static final ValueSmallint TABLE_INDEX_HASHED
      • TABLE_INDEX_OTHER

        private static final ValueSmallint TABLE_INDEX_OTHER
      • TABLE_TYPES

        private static final java.lang.String[] TABLE_TYPES
      • TYPE_NULLABLE

        private static final ValueSmallint TYPE_NULLABLE
      • TYPE_SEARCHABLE

        private static final ValueSmallint TYPE_SEARCHABLE
      • NO_USAGE_RESTRICTIONS

        private static final Value NO_USAGE_RESTRICTIONS
    • Constructor Detail

      • DatabaseMetaLocal

        public DatabaseMetaLocal​(SessionLocal session)
    • Method Detail

      • defaultNullOrdering

        public final DefaultNullOrdering defaultNullOrdering()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        defaultNullOrdering in class DatabaseMeta
        Returns:
        DefaultNullOrdering
        See Also:
        DatabaseMetaData.nullsAreSortedHigh(), DatabaseMetaData.nullsAreSortedLow(), DatabaseMetaData.nullsAreSortedAtStart(), DatabaseMetaData.nullsAreSortedAtEnd()
      • getSQLKeywords

        public java.lang.String getSQLKeywords()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getSQLKeywords in class DatabaseMeta
        Returns:
        list of supported SQL keywords
        See Also:
        DatabaseMetaData.getSQLKeywords()
      • getNumericFunctions

        public java.lang.String getNumericFunctions()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getNumericFunctions in class DatabaseMeta
        Returns:
        list of supported numeric functions
        See Also:
        DatabaseMetaData.getNumericFunctions()
      • getStringFunctions

        public java.lang.String getStringFunctions()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getStringFunctions in class DatabaseMeta
        Returns:
        list of supported string functions
        See Also:
        DatabaseMetaData.getStringFunctions()
      • getSystemFunctions

        public java.lang.String getSystemFunctions()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getSystemFunctions in class DatabaseMeta
        Returns:
        list of supported system functions
        See Also:
        DatabaseMetaData.getSystemFunctions()
      • getTimeDateFunctions

        public java.lang.String getTimeDateFunctions()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getTimeDateFunctions in class DatabaseMeta
        Returns:
        list of supported time/date functions
        See Also:
        DatabaseMetaData.getTimeDateFunctions()
      • getFunctions

        private java.lang.String getFunctions​(java.lang.String section)
      • getSearchStringEscape

        public java.lang.String getSearchStringEscape()
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getSearchStringEscape in class DatabaseMeta
        Returns:
        search string escape sequence
        See Also:
        DatabaseMetaData.getSearchStringEscape()
      • getProcedures

        public ResultInterface getProcedures​(java.lang.String catalog,
                                             java.lang.String schemaPattern,
                                             java.lang.String procedureNamePattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getProcedures in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        procedureNamePattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getProcedures(String, String, String)
      • getProceduresAdd

        private void getProceduresAdd​(SimpleResult result,
                                      Value catalogValue,
                                      Value schemaValue,
                                      Value procedureNameValue,
                                      java.lang.String comment,
                                      ValueSmallint procedureType,
                                      Value specificNameValue)
      • getProcedureColumns

        public ResultInterface getProcedureColumns​(java.lang.String catalog,
                                                   java.lang.String schemaPattern,
                                                   java.lang.String procedureNamePattern,
                                                   java.lang.String columnNamePattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getProcedureColumns in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        procedureNamePattern - "LIKE" style pattern to filter result
        columnNamePattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getProcedureColumns(String, String, String, String)
      • getProcedureColumnAdd

        private void getProcedureColumnAdd​(SimpleResult result,
                                           Value catalogValue,
                                           Value schemaValue,
                                           Value procedureNameValue,
                                           Value specificNameValue,
                                           TypeInfo type,
                                           boolean notNull,
                                           int ordinal)
      • getTables

        public ResultInterface getTables​(java.lang.String catalog,
                                         java.lang.String schemaPattern,
                                         java.lang.String tableNamePattern,
                                         java.lang.String[] types)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getTables in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        tableNamePattern - "LIKE" style pattern to filter result
        types - String[]
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getTables(String, String, String, String[])
      • getTablesAdd

        private void getTablesAdd​(SimpleResult result,
                                  Value catalogValue,
                                  Value schemaValue,
                                  Value tableName,
                                  Table t,
                                  boolean synonym,
                                  java.util.HashSet<java.lang.String> typesSet)
      • getColumns

        public ResultInterface getColumns​(java.lang.String catalog,
                                          java.lang.String schemaPattern,
                                          java.lang.String tableNamePattern,
                                          java.lang.String columnNamePattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getColumns in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        tableNamePattern - "LIKE" style pattern to filter result
        columnNamePattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getColumns(String, String, String, String)
      • getColumnPrivileges

        public ResultInterface getColumnPrivileges​(java.lang.String catalog,
                                                   java.lang.String schema,
                                                   java.lang.String table,
                                                   java.lang.String columnNamePattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getColumnPrivileges in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schema - to inspect
        table - to inspect
        columnNamePattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getColumnPrivileges(String, String, String, String)
      • getTablePrivileges

        public ResultInterface getTablePrivileges​(java.lang.String catalog,
                                                  java.lang.String schemaPattern,
                                                  java.lang.String tableNamePattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getTablePrivileges in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        tableNamePattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getTablePrivileges(String, String, String)
      • addPrivileges

        private void addPrivileges​(SimpleResult result,
                                   Value catalogValue,
                                   java.lang.String schemaName,
                                   java.lang.String tableName,
                                   DbObject grantee,
                                   int rightMask,
                                   CompareLike columnLike,
                                   Column[] columns)
      • getBestRowIdentifier

        public ResultInterface getBestRowIdentifier​(java.lang.String catalog,
                                                    java.lang.String schema,
                                                    java.lang.String table,
                                                    int scope,
                                                    boolean nullable)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getBestRowIdentifier in class DatabaseMeta
        Parameters:
        catalog - "LIKE" style pattern to filter result
        schema - "LIKE" style pattern to filter result
        table - table of interest
        scope - of interest
        nullable - include nullable columns
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getBestRowIdentifier(String, String, String, int, boolean)
      • getDataTypeName

        private Value getDataTypeName​(TypeInfo typeInfo)
      • getPrimaryKeys

        public ResultInterface getPrimaryKeys​(java.lang.String catalog,
                                              java.lang.String schema,
                                              java.lang.String table)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getPrimaryKeys in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schema - to inspect
        table - to inspect
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getPrimaryKeys(String, String, String)
      • getImportedKeys

        public ResultInterface getImportedKeys​(java.lang.String catalog,
                                               java.lang.String schema,
                                               java.lang.String table)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getImportedKeys in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schema - to inspect
        table - to inspect
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getImportedKeys(String, String, String)
      • getExportedKeys

        public ResultInterface getExportedKeys​(java.lang.String catalog,
                                               java.lang.String schema,
                                               java.lang.String table)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getExportedKeys in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schema - to inspect
        table - to inspect
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getExportedKeys(String, String, String)
      • getCrossReference

        public ResultInterface 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)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getCrossReference in class DatabaseMeta
        Parameters:
        primaryCatalog - to inspect
        primarySchema - to inspect
        primaryTable - to inspect
        foreignCatalog - to inspect
        foreignSchema - to inspect
        foreignTable - to inspect
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getCrossReference(String, String, String, String, String, String)
      • initCrossReferenceResult

        private SimpleResult initCrossReferenceResult()
      • getRadix

        private static Value getRadix​(int valueType,
                                      boolean small)
      • getIndexInfo

        public ResultInterface getIndexInfo​(java.lang.String catalog,
                                            java.lang.String schema,
                                            java.lang.String table,
                                            boolean unique,
                                            boolean approximate)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getIndexInfo in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schema - to inspect
        table - to inspect
        unique - only
        approximate - allowed
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean)
      • getIndexInfo

        private void getIndexInfo​(Value catalogValue,
                                  Value schemaValue,
                                  Table table,
                                  boolean unique,
                                  boolean approximate,
                                  SimpleResult result,
                                  Database db)
      • getSchemas

        public ResultInterface getSchemas​(java.lang.String catalog,
                                          java.lang.String schemaPattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getSchemas in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getSchemas(String, String)
      • getPseudoColumns

        public ResultInterface getPseudoColumns​(java.lang.String catalog,
                                                java.lang.String schemaPattern,
                                                java.lang.String tableNamePattern,
                                                java.lang.String columnNamePattern)
        Description copied from class: DatabaseMeta
        INTERNAL
        Specified by:
        getPseudoColumns in class DatabaseMeta
        Parameters:
        catalog - to inspect
        schemaPattern - "LIKE" style pattern to filter result
        tableNamePattern - "LIKE" style pattern to filter result
        columnNamePattern - "LIKE" style pattern to filter result
        Returns:
        ResultInterface
        See Also:
        DatabaseMetaData.getPseudoColumns(String, String, String, String)
      • getString

        Value getString​(java.lang.String string)
      • checkCatalogName

        private boolean checkCatalogName​(java.lang.String catalog)
      • getSchemas

        private java.util.Collection<Schema> getSchemas​(java.lang.String schema)
      • getSchemasForPattern

        private java.util.Collection<Schema> getSchemasForPattern​(java.lang.String schemaPattern)
      • getTablesForPattern

        private java.util.Collection<? extends SchemaObject> getTablesForPattern​(Schema schema,
                                                                                 java.lang.String tablePattern)
      • checkSchema

        private boolean checkSchema​(java.lang.String schemaName,
                                    Schema schema)
      • getLike

        private CompareLike getLike​(java.lang.String pattern)