Skip to content

Commit a88729d

Browse files
VladLazarconradludgate
authored andcommitted
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 593f0c9 commit a88729d

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
}
@@ -982,7 +977,6 @@ impl<D> XLogDataBody<D> {
982977
pub struct RawInterpretedWalRecordsBody<D> {
983978
streaming_lsn: u64,
984979
commit_lsn: u64,
985-
next_record_lsn: Option<u64>,
986980
data: D,
987981
}
988982

@@ -997,11 +991,6 @@ impl<D> RawInterpretedWalRecordsBody<D> {
997991
self.commit_lsn
998992
}
999993

1000-
#[inline]
1001-
pub fn next_record_lsn(&self) -> Option<u64> {
1002-
self.next_record_lsn
1003-
}
1004-
1005994
#[inline]
1006995
pub fn data(&self) -> &D {
1007996
&self.data

0 commit comments

Comments
 (0)