Class OracleDatabaseSchema

All Implemented Interfaces:
DatabaseSchema<TableId>, HistorizedDatabaseSchema<TableId>, AutoCloseable

public class OracleDatabaseSchema extends HistorizedRelationalDatabaseSchema
The schema of an Oracle database.
Author:
Gunnar Morling
  • Field Details

  • Constructor Details

  • Method Details

    • getTables

      public Tables getTables()
    • getValueConverters

      public OracleValueConverters getValueConverters()
    • getDdlParser

      public OracleDdlParser getDdlParser()
      Specified by:
      getDdlParser in class HistorizedRelationalDatabaseSchema
    • applySchemaChange

      public void applySchemaChange(SchemaChangeEvent schemaChange)
    • removeSchema

      protected void removeSchema(TableId id)
      Overrides:
      removeSchema in class RelationalDatabaseSchema
    • buildAndRegisterSchema

      protected void buildAndRegisterSchema(Table table)
      Overrides:
      buildAndRegisterSchema in class RelationalDatabaseSchema
    • getTableIdByObjectId

      public TableId getTableIdByObjectId(Long objectId, Long dataObjectId)
      Get the TableId by objectId.
      Parameters:
      objectId - the object id find the table id about, cannot be null
      dataObjectId - the data object id, may be null
      Returns:
      the table identifier or null if no entry is cached or in the schema with the object id
    • getLobColumnsForTable

      public List<Column> getLobColumnsForTable(TableId id)
      Get a list of large object (LOB) columns for the specified relational table identifier.
      Parameters:
      id - the relational table identifier
      Returns:
      a list of LOB columns, may be empty if the table has no LOB columns
    • isColumnUnavailableValuePlaceholder

      public boolean isColumnUnavailableValuePlaceholder(Column column, Object value)
      Returns whether the specified value is the unavailable value placeholder for an LOB column.
    • isLobColumn

      public static boolean isLobColumn(Column column)
      Return whether the provided relational column model is a LOB data type.
    • isXmlColumn

      public static boolean isXmlColumn(Column column)
      Return whether the provided relational column model is a XML data type.
    • isClobColumn

      private static boolean isClobColumn(Column column)
      Returns whether the provided relational column model is a CLOB or NCLOB data type.
    • isBlobColumn

      private static boolean isBlobColumn(Column column)
      Returns whether the provided relational column model is a CLOB data type.
    • buildAndRegisterTableObjectIdReferences

      private void buildAndRegisterTableObjectIdReferences(Table table)
    • buildAndRegisterTableLobColumns

      private void buildAndRegisterTableLobColumns(Table table)