Package io.debezium.connector.oracle
Class OracleDatabaseSchema
java.lang.Object
io.debezium.relational.RelationalDatabaseSchema
io.debezium.relational.HistorizedRelationalDatabaseSchema
io.debezium.connector.oracle.OracleDatabaseSchema
- All Implemented Interfaces:
DatabaseSchema<TableId>,HistorizedDatabaseSchema<TableId>,AutoCloseable
The schema of an Oracle database.
- Author:
- Gunnar Morling
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.debezium.schema.HistorizedDatabaseSchema
HistorizedDatabaseSchema.SchemaChangeEventConsumer -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final OracleDdlParserprivate final ConcurrentMap<TableId,List<Column>> private static final org.slf4j.Loggerprivate booleanprivate final OracleValueConvertersFields inherited from class io.debezium.relational.HistorizedRelationalDatabaseSchema
schemaHistoryFields inherited from interface io.debezium.schema.DatabaseSchema
NO_CAPTURED_DATA_COLLECTIONS_WARNING -
Constructor Summary
ConstructorsConstructorDescriptionOracleDatabaseSchema(OracleConnectorConfig connectorConfig, OracleValueConverters valueConverters, DefaultValueConverter defaultValueConverter, SchemaNameAdjuster schemaNameAdjuster, io.debezium.spi.topic.TopicNamingStrategy<TableId> topicNamingStrategy, StreamingAdapter.TableNameCaseSensitivity tableNameCaseSensitivity) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplySchemaChange(SchemaChangeEvent schemaChange) protected voidbuildAndRegisterSchema(Table table) private voidGet a list of large object (LOB) columns for the specified relational table identifier.booleanReturn true if the database schema history entity existsvoidprivate static booleanisBlobColumn(Column column) Returns whether the provided relational column model is a CLOB data type.private static booleanisClobColumn(Column column) Returns whether the provided relational column model is a CLOB or NCLOB data type.booleanisColumnUnavailableValuePlaceholder(Column column, Object value) Returns whether the specified value is the unavailable value placeholder for an LOB column.static booleanisLobColumn(Column column) Return whether the provided relational column model is a LOB data type.booleanprotected voidremoveSchema(TableId id) Methods inherited from class io.debezium.relational.HistorizedRelationalDatabaseSchema
close, ddlFilter, isHistorized, record, recover, skipUnparseableDdlStatements, storeOnlyCapturedTables, tableInformationCompleteMethods inherited from class io.debezium.relational.RelationalDatabaseSchema
assureNonEmptySchema, clearSchemas, getTableFilter, refresh, refreshSchema, schemaFor, tableFor, tableIds, tablesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.debezium.schema.DatabaseSchema
assureNonEmptySchema, schemaForMethods inherited from interface io.debezium.schema.HistorizedDatabaseSchema
recover
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
ddlParser
-
lobColumnsByTableId
-
valueConverters
-
storageInitializationExecuted
private boolean storageInitializationExecuted
-
-
Constructor Details
-
OracleDatabaseSchema
public OracleDatabaseSchema(OracleConnectorConfig connectorConfig, OracleValueConverters valueConverters, DefaultValueConverter defaultValueConverter, SchemaNameAdjuster schemaNameAdjuster, io.debezium.spi.topic.TopicNamingStrategy<TableId> topicNamingStrategy, StreamingAdapter.TableNameCaseSensitivity tableNameCaseSensitivity)
-
-
Method Details
-
getTables
-
getValueConverters
-
getDdlParser
- Specified by:
getDdlParserin classHistorizedRelationalDatabaseSchema
-
applySchemaChange
-
initializeStorage
public void initializeStorage()- Specified by:
initializeStoragein interfaceHistorizedDatabaseSchema<TableId>- Overrides:
initializeStoragein classHistorizedRelationalDatabaseSchema
-
isStorageInitializationExecuted
public boolean isStorageInitializationExecuted() -
historyExists
public boolean historyExists()Return true if the database schema history entity exists -
removeSchema
- Overrides:
removeSchemain classRelationalDatabaseSchema
-
buildAndRegisterSchema
- Overrides:
buildAndRegisterSchemain classRelationalDatabaseSchema
-
getLobColumnsForTable
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
-
isLobColumn
Return whether the provided relational column model is a LOB data type. -
isClobColumn
Returns whether the provided relational column model is a CLOB or NCLOB data type. -
isBlobColumn
Returns whether the provided relational column model is a CLOB data type. -
buildAndRegisterTableLobColumns
-