java.lang.Object
io.debezium.connector.postgresql.connection.Lsn
All Implemented Interfaces:
Comparable<Lsn>

public class Lsn extends Object implements Comparable<Lsn>
Abstraction of PostgreSQL log sequence number, adapted from LogSequenceNumber.
Author:
Jiri Pechanec
  • Field Details

    • INVALID_LSN

      public static final Lsn INVALID_LSN
      Zero is used indicate an invalid pointer. Bootstrap skips the first possible WAL segment, initializing the first WAL page at XLOG_SEG_SIZE, so no XLOG record can begin at zero.
    • value

      private final long value
  • Constructor Details

    • Lsn

      private Lsn(long value)
  • Method Details

    • valueOf

      public static Lsn valueOf(Long value)
      Parameters:
      value - numeric represent position in the write-ahead log stream
      Returns:
      not null LSN instance
    • valueOf

      public static Lsn valueOf(org.postgresql.replication.LogSequenceNumber value)
      Parameters:
      value - PostgreSQL JDBC driver domain type representing position in the write-ahead log stream
      Returns:
      not null LSN instance
    • valueOf

      public static Lsn valueOf(String strValue)
      Create LSN instance by string represent LSN.
      Parameters:
      strValue - not null string as two hexadecimal numbers of up to 8 digits each, separated by a slash. For example 16/3002D50, 0/15D68C50
      Returns:
      not null LSN instance where if specified string represent have not valid form INVALID_LSN
    • asLong

      public long asLong()
      Returns:
      Long represent position in the write-ahead log stream
    • asLogSequenceNumber

      public org.postgresql.replication.LogSequenceNumber asLogSequenceNumber()
      Returns:
      PostgreSQL JDBC driver representation of position in the write-ahead log stream
    • asString

      public String asString()
      Returns:
      String represent position in the write-ahead log stream as two hexadecimal numbers of up to 8 digits each, separated by a slash. For example 16/3002D50, 0/15D68C50
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isValid

      public boolean isValid()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compareTo

      public int compareTo(Lsn o)
      Specified by:
      compareTo in interface Comparable<Lsn>