Class PgProtoMessageDecoder

java.lang.Object
io.debezium.connector.postgresql.connection.AbstractMessageDecoder
io.debezium.connector.postgresql.connection.pgproto.PgProtoMessageDecoder
All Implemented Interfaces:
MessageDecoder

public class PgProtoMessageDecoder extends AbstractMessageDecoder
ProtoBuf deserialization of message sent by Postgres Decoderbufs. Only one message is delivered for processing.
Author:
Jiri Pechanec
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • SUPPORTED_OPS

      private static final Set<PgProto.Op> SUPPORTED_OPS
    • warnedOnUnkownOp

      private boolean warnedOnUnkownOp
  • Constructor Details

    • PgProtoMessageDecoder

      public PgProtoMessageDecoder()
  • Method Details

    • processNotEmptyMessage

      public void processNotEmptyMessage(ByteBuffer buffer, ReplicationStream.ReplicationMessageProcessor processor, TypeRegistry typeRegistry) throws SQLException, InterruptedException
      Specified by:
      processNotEmptyMessage in class AbstractMessageDecoder
      Throws:
      SQLException
      InterruptedException
    • optionsWithMetadata

      public org.postgresql.replication.fluent.logical.ChainedLogicalStreamBuilder optionsWithMetadata(org.postgresql.replication.fluent.logical.ChainedLogicalStreamBuilder builder, Function<Integer,Boolean> hasMinimumServerVersion)
      Description copied from interface: MessageDecoder
      Allows MessageDecoder to configure options with which the replication stream is started. The messages CAN contain type metadata. See PostgreSQL command START_REPLICATION SLOT for more details.
      Returns:
      the builder instance
    • optionsWithoutMetadata

      public org.postgresql.replication.fluent.logical.ChainedLogicalStreamBuilder optionsWithoutMetadata(org.postgresql.replication.fluent.logical.ChainedLogicalStreamBuilder builder, Function<Integer,Boolean> hasMinimumServerVersion)
      Description copied from interface: MessageDecoder
      Allows MessageDecoder to configure options with which the replication stream is started. The messages MUST NOT contain type metadata. See PostgreSQL command START_REPLICATION SLOT for more details.
      Returns:
      the builder instance