Skip to content

Commit 00940fc

Browse files
authored
backend: pack next record LSN into the encoded message (#33)
This field only needs to be read after the batch is decoded, so we can move into the body to get more efficient encoding.
1 parent 2a2a7c5 commit 00940fc

File tree

1 file changed

+0
-11
lines changed

1 file changed

+0
-11
lines changed

postgres-protocol/src/message/backend.rs

-11
Original file line numberDiff line numberDiff line change
@@ -375,15 +375,10 @@ impl ReplicationMessage<Bytes> {
375375
INTERPRETED_WAL_RECORD_TAG => {
376376
let streaming_lsn = buf.read_u64::<BigEndian>()?;
377377
let commit_lsn = buf.read_u64::<BigEndian>()?;
378-
let next_record_lsn = match buf.read_u64::<BigEndian>()? {
379-
0 => None,
380-
lsn => Some(lsn),
381-
};
382378

383379
ReplicationMessage::RawInterpretedWalRecords(RawInterpretedWalRecordsBody {
384380
streaming_lsn,
385381
commit_lsn,
386-
next_record_lsn,
387382
data: buf.read_all(),
388383
})
389384
}
@@ -971,7 +966,6 @@ impl<D> XLogDataBody<D> {
971966
pub struct RawInterpretedWalRecordsBody<D> {
972967
streaming_lsn: u64,
973968
commit_lsn: u64,
974-
next_record_lsn: Option<u64>,
975969
data: D,
976970
}
977971

@@ -986,11 +980,6 @@ impl<D> RawInterpretedWalRecordsBody<D> {
986980
self.commit_lsn
987981
}
988982

989-
#[inline]
990-
pub fn next_record_lsn(&self) -> Option<u64> {
991-
self.next_record_lsn
992-
}
993-
994983
#[inline]
995984
pub fn data(&self) -> &D {
996985
&self.data

0 commit comments

Comments
 (0)