public class PostgresChangeRecordEmitter extends RelationalChangeRecordEmitter
ChangeRecordEmitter.Receiver| Modifier and Type | Field and Description |
|---|---|
private Map<String,Object> |
cachedOldToastedValues |
private PostgresConnection |
connection |
private PostgresConnectorConfig |
connectorConfig |
private ReplicationMessage |
message |
private PostgresSchema |
schema |
private TableId |
tableId |
private boolean |
unchangedToastColumnMarkerMissing |
logger| Constructor and Description |
|---|
PostgresChangeRecordEmitter(OffsetContext offset,
Clock clock,
PostgresConnectorConfig connectorConfig,
PostgresSchema schema,
PostgresConnection connection,
ReplicationMessage message) |
getOffsetprivate final ReplicationMessage message
private final PostgresSchema schema
private final PostgresConnectorConfig connectorConfig
private final PostgresConnection connection
private final TableId tableId
private final boolean unchangedToastColumnMarkerMissing
public PostgresChangeRecordEmitter(OffsetContext offset, Clock clock, PostgresConnectorConfig connectorConfig, PostgresSchema schema, PostgresConnection connection, ReplicationMessage message)
protected Envelope.Operation getOperation()
getOperation in class RelationalChangeRecordEmitterpublic void emitChangeRecords(DataCollectionSchema schema, ChangeRecordEmitter.Receiver receiver) throws InterruptedException
emitChangeRecords in interface ChangeRecordEmitteremitChangeRecords in class RelationalChangeRecordEmitterInterruptedExceptionprotected Object[] getOldColumnValues()
getOldColumnValues in class RelationalChangeRecordEmitterprotected Object[] getNewColumnValues()
getNewColumnValues in class RelationalChangeRecordEmitterprivate DataCollectionSchema synchronizeTableSchema(DataCollectionSchema tableSchema)
private Object[] columnValues(List<ReplicationMessage.Column> columns, TableId tableId, boolean refreshSchemaIfChanged, boolean metadataInMessage, boolean sourceOfToasted) throws SQLException
SQLExceptionprivate Optional<DataCollectionSchema> newTable(TableId tableId)
private void refreshTableFromDatabase(TableId tableId)
static Optional<DataCollectionSchema> updateSchema(TableId tableId, ChangeRecordEmitter changeRecordEmitter)
private boolean schemaChanged(List<ReplicationMessage.Column> columns, Table table, boolean metadataInMessage)
private boolean hasMissingUntoastedColumns(Table table, List<ReplicationMessage.Column> columns)
private Table tableFromFromMessage(List<ReplicationMessage.Column> columns, Table table)
protected boolean skipEmptyMessages()
skipEmptyMessages in class RelationalChangeRecordEmitterCopyright © 2019 JBoss by Red Hat. All rights reserved.