Class PhysicalRowIdentifierChunkQueryBuilder<T extends io.debezium.spi.schema.DataCollectionId>
java.lang.Object
io.debezium.pipeline.source.snapshot.incremental.AbstractChunkQueryBuilder<T>
io.debezium.pipeline.source.snapshot.incremental.PhysicalRowIdentifierChunkQueryBuilder<T>
- All Implemented Interfaces:
ChunkQueryBuilder<T>
public class PhysicalRowIdentifierChunkQueryBuilder<T extends io.debezium.spi.schema.DataCollectionId>
extends AbstractChunkQueryBuilder<T>
Chunk query builder that injects a hidden physical row identifier (e.g. Oracle ROWID, PostgreSQL ctid)
so it can be used as the surrogate key for incremental snapshots.
This builder is vendor-agnostic at the core level; connector-specific implementations provide the appropriate physical column metadata for their database.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate static final Stringprivate final Stringprivate final Stringprivate final intprivate final Integerprivate final intprivate final Integerprivate final Stringprivate final StringFields inherited from class io.debezium.pipeline.source.snapshot.incremental.AbstractChunkQueryBuilder
columnFilter, connectorConfig, jdbcConnection -
Constructor Summary
ConstructorsConstructorDescriptionPhysicalRowIdentifierChunkQueryBuilder(RelationalDatabaseConnectorConfig config, JdbcConnection jdbcConnection, String physicalColumnName, String physicalIdentifierExpression, int physicalJdbcType, int physicalNativeType, String physicalTypeName, Integer physicalLength, Integer physicalScale, boolean aliasWildcardProjection, String tableAlias) -
Method Summary
Modifier and TypeMethodDescriptionprivate ColumnbuildPhysicalColumn(Table table) private Stringprotected StringbuildProjection(Table table) getTableAlias(Table table) private booleanhasPhysicalColumn(Table table) prepareTable(IncrementalSnapshotContext<T> context, Table table) Allows builders to adjust theTablemetadata before it is used for chunking.private booleanMethods inherited from class io.debezium.pipeline.source.snapshot.incremental.AbstractChunkQueryBuilder
addLowerBound, addUpperBound, buildChunkQuery, buildChunkQuery, buildMaxPrimaryKeyQuery, getQueryColumns, readTableChunkStatement
-
Field Details
-
DEFAULT_TABLE_ALIAS
- See Also:
-
physicalColumnName
-
physicalIdentifierExpression
-
physicalJdbcType
private final int physicalJdbcType -
physicalNativeType
private final int physicalNativeType -
physicalTypeName
-
physicalLength
-
physicalScale
-
aliasWildcardProjection
private final boolean aliasWildcardProjection -
tableAlias
-
-
Constructor Details
-
PhysicalRowIdentifierChunkQueryBuilder
public PhysicalRowIdentifierChunkQueryBuilder(RelationalDatabaseConnectorConfig config, JdbcConnection jdbcConnection, String physicalColumnName, String physicalIdentifierExpression, int physicalJdbcType, int physicalNativeType, String physicalTypeName, Integer physicalLength, Integer physicalScale, boolean aliasWildcardProjection, String tableAlias)
-
-
Method Details
-
prepareTable
Description copied from interface:ChunkQueryBuilderAllows builders to adjust theTablemetadata before it is used for chunking.Default implementation is a no-op, returning the provided table instance.
-
buildPhysicalColumn
-
usesPhysicalIdentifier
-
hasPhysicalColumn
-
buildProjection
- Overrides:
buildProjectionin classAbstractChunkQueryBuilder<T extends io.debezium.spi.schema.DataCollectionId>
-
buildPhysicalProjection
-
getTableAlias
- Overrides:
getTableAliasin classAbstractChunkQueryBuilder<T extends io.debezium.spi.schema.DataCollectionId>
-