Class Db2SnapshotChangeEventSource

java.lang.Object
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource<P,O>
io.debezium.relational.RelationalSnapshotChangeEventSource<Db2Partition,Db2OffsetContext>
io.debezium.connector.db2.Db2SnapshotChangeEventSource
All Implemented Interfaces:
io.debezium.pipeline.source.spi.ChangeEventSource, io.debezium.pipeline.source.spi.SnapshotChangeEventSource<Db2Partition,Db2OffsetContext>, AutoCloseable

public class Db2SnapshotChangeEventSource extends io.debezium.relational.RelationalSnapshotChangeEventSource<Db2Partition,Db2OffsetContext>
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static class 
    Mutable context which is populated in the course of snapshotting.

    Nested classes/interfaces inherited from class io.debezium.relational.RelationalSnapshotChangeEventSource

    io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<P extends io.debezium.pipeline.spi.Partition,O extends io.debezium.pipeline.spi.OffsetContext>

    Nested classes/interfaces inherited from class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource

    io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<P extends io.debezium.pipeline.spi.Partition,O extends io.debezium.pipeline.spi.OffsetContext>

    Nested classes/interfaces inherited from interface io.debezium.pipeline.source.spi.ChangeEventSource

    io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final Db2ConnectorConfig
     
    private final Db2Connection
     
    private static final org.slf4j.Logger
     

    Fields inherited from class io.debezium.relational.RelationalSnapshotChangeEventSource

    clock, connectionPool, dispatcher, MATCH_ALL_PATTERN, SELECT_ALL_PATTERN, snapshotterService

    Fields inherited from class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource

    LOG_INTERVAL, notificationService
  • Constructor Summary

    Constructors
    Constructor
    Description
    Db2SnapshotChangeEventSource(Db2ConnectorConfig connectorConfig, io.debezium.jdbc.MainConnectionProvidingConnectionFactory<Db2Connection> connectionFactory, Db2DatabaseSchema schema, io.debezium.pipeline.EventDispatcher<Db2Partition,io.debezium.relational.TableId> dispatcher, io.debezium.util.Clock clock, io.debezium.pipeline.source.spi.SnapshotProgressListener<Db2Partition> snapshotProgressListener, io.debezium.pipeline.notification.NotificationService<Db2Partition,Db2OffsetContext> notificationService, io.debezium.snapshot.SnapshotterService snapshotterService)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    aborted(io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     
    private void
    close(io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     
    protected void
    completed(io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     
    protected void
    connectionCreated(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     
    copyOffset(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     
    protected void
    determineSnapshotOffset(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> ctx, Db2OffsetContext previousOffset)
     
    protected Set<io.debezium.relational.TableId>
    getAllTableIds(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> ctx)
     
    protected io.debezium.schema.SchemaChangeEvent
    getCreateTableEvent(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext, io.debezium.relational.Table table)
     
    protected Optional<String>
    getSnapshotSelect(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext, io.debezium.relational.TableId tableId, List<String> columns)
    Generate a valid db2 query string for the specified table
    protected void
    lockTablesForSchemaSnapshot(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext sourceContext, io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     
    protected io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<Db2Partition,Db2OffsetContext>
    prepare(Db2Partition partition, boolean onDemand)
     
    private String
    quoteTableName(io.debezium.relational.TableId tableId)
     
    protected void
    readTableStructure(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext sourceContext, io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext, Db2OffsetContext previousOffset, io.debezium.pipeline.source.SnapshottingTask snapshottingTask)
     
    protected void
    releaseSchemaSnapshotLocks(io.debezium.relational.RelationalSnapshotChangeEventSource.RelationalSnapshotContext<Db2Partition,Db2OffsetContext> snapshotContext)
     

    Methods inherited from class io.debezium.relational.RelationalSnapshotChangeEventSource

    additionalColumnFilter, connectionPoolConnectionCreated, createDataEventsForTableCallable, createSchemaChangeEventsForTables, createSnapshotConnection, doCreateDataEventsForTable, doExecute, enhanceOverriddenSelect, getBlockingSnapshottingTask, getChangeRecordEmitter, getClock, getPreparedColumnNames, getSignalDataCollectionPattern, getSnapshotConnectionFirstSelect, getSnapshotSelectOverridesByTable, getSnapshotSourceTimestamp, getSnapshottingTask, getTablesForSchemaChange, lastSnapshotRecord, postSnapshot, preSnapshot, readTableStatement, releaseDataSnapshotLocks, resultSetForDataEvents, rowCountForTable, tryStartingSnapshot

    Methods inherited from class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource

    close, delaySnapshotIfNeeded, determineDataCollectionsToBeSnapshotted, execute, getDataCollectionPattern, getOffsets

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • connectorConfig

      private final Db2ConnectorConfig connectorConfig
    • jdbcConnection

      private final Db2Connection jdbcConnection
  • Constructor Details

    • Db2SnapshotChangeEventSource

      public Db2SnapshotChangeEventSource(Db2ConnectorConfig connectorConfig, io.debezium.jdbc.MainConnectionProvidingConnectionFactory<Db2Connection> connectionFactory, Db2DatabaseSchema schema, io.debezium.pipeline.EventDispatcher<Db2Partition,io.debezium.relational.TableId> dispatcher, io.debezium.util.Clock clock, io.debezium.pipeline.source.spi.SnapshotProgressListener<Db2Partition> snapshotProgressListener, io.debezium.pipeline.notification.NotificationService<Db2Partition,Db2OffsetContext> notificationService, io.debezium.snapshot.SnapshotterService snapshotterService)
  • Method Details