Package io.debezium.connector.informix
Class InformixChangeRecordEmitter
java.lang.Object
io.debezium.pipeline.AbstractChangeRecordEmitter<P,io.debezium.relational.TableSchema>
io.debezium.relational.RelationalChangeRecordEmitter<InformixPartition>
io.debezium.connector.informix.InformixChangeRecordEmitter
- All Implemented Interfaces:
io.debezium.pipeline.spi.ChangeRecordEmitter<InformixPartition>
public class InformixChangeRecordEmitter
extends io.debezium.relational.RelationalChangeRecordEmitter<InformixPartition>
Emits change data based on a single (or two in case of updates) CDC data row(s).
- Author:
- Laoflch Luo, Xiaolin Zhang, Lars M Johansson
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.debezium.pipeline.spi.ChangeRecordEmitter
io.debezium.pipeline.spi.ChangeRecordEmitter.Receiver<P extends io.debezium.pipeline.spi.Partition> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Object[]private final Object[]private final io.debezium.data.Envelope.OperationFields inherited from class io.debezium.relational.RelationalChangeRecordEmitter
PK_UPDATE_NEWKEY_FIELD, PK_UPDATE_OLDKEY_FIELD -
Constructor Summary
ConstructorsConstructorDescriptionInformixChangeRecordEmitter(InformixPartition partition, InformixOffsetContext offsetContext, io.debezium.data.Envelope.Operation operation, Object[] before, Object[] after, io.debezium.util.Clock clock, InformixConnectorConfig connectorConfig) -
Method Summary
Modifier and TypeMethodDescriptionstatic Object[]convertIfxData2Array(Map<String, com.informix.jdbc.IfmxReadableType> data, io.debezium.relational.TableSchema tableSchema) Convert columns data from Map[String,IfmxReadableType] to Object[].protected voidemitTruncateRecord(io.debezium.pipeline.spi.ChangeRecordEmitter.Receiver<InformixPartition> receiver, io.debezium.relational.TableSchema tableSchema) protected Object[]protected Object[]io.debezium.data.Envelope.Operationprivate static <X> XMethods inherited from class io.debezium.relational.RelationalChangeRecordEmitter
emitChangeRecords, emitCreateRecord, emitDeleteRecord, emitReadRecord, emitUpdateAsPrimaryKeyChangeRecord, emitUpdateRecord, skipEmptyMessagesMethods inherited from class io.debezium.pipeline.AbstractChangeRecordEmitter
getClock, getOffset, getPartition, skipMessagesWithoutChange
-
Field Details
-
operation
private final io.debezium.data.Envelope.Operation operation -
before
-
after
-
-
Constructor Details
-
InformixChangeRecordEmitter
public InformixChangeRecordEmitter(InformixPartition partition, InformixOffsetContext offsetContext, io.debezium.data.Envelope.Operation operation, Object[] before, Object[] after, io.debezium.util.Clock clock, InformixConnectorConfig connectorConfig)
-
-
Method Details
-
getOperation
public io.debezium.data.Envelope.Operation getOperation() -
getOldColumnValues
- Specified by:
getOldColumnValuesin classio.debezium.relational.RelationalChangeRecordEmitter<InformixPartition>
-
getNewColumnValues
- Specified by:
getNewColumnValuesin classio.debezium.relational.RelationalChangeRecordEmitter<InformixPartition>
-
emitTruncateRecord
protected void emitTruncateRecord(io.debezium.pipeline.spi.ChangeRecordEmitter.Receiver<InformixPartition> receiver, io.debezium.relational.TableSchema tableSchema) throws InterruptedException - Overrides:
emitTruncateRecordin classio.debezium.relational.RelationalChangeRecordEmitter<InformixPartition>- Throws:
InterruptedException
-
convertIfxData2Array
public static Object[] convertIfxData2Array(Map<String, com.informix.jdbc.IfmxReadableType> data, io.debezium.relational.TableSchema tableSchema) Convert columns data from Map[String,IfmxReadableType] to Object[]. Debezium can't convert the IfmxReadableType object to kafka direct,so use map[AnyRef](x=>x.toObject) to extract the java type value from IfmxReadableType and pass to debezium for kafka- Parameters:
data- the data from informix cdc map[String,IfmxReadableType].
-
propagate
-