0006-add-XLOG_INCLUDE_ORIGIN-for-sequences-20230725.patch
text/x-patch
Filename: 0006-add-XLOG_INCLUDE_ORIGIN-for-sequences-20230725.patch
Type: text/x-patch
Part: 5
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch 0006
Subject: add XLOG_INCLUDE_ORIGIN for sequences
| File | + | − |
|---|---|---|
| src/backend/commands/sequence.c | 12 | 0 |
From 2383c6c6d3e20788c5c1c2b036878947a8c52c10 Mon Sep 17 00:00:00 2001 From: Tomas Vondra <tomas@2ndquadrant.com> Date: Mon, 24 Jul 2023 16:36:09 +0200 Subject: [PATCH 6/7] add XLOG_INCLUDE_ORIGIN for sequences --- src/backend/commands/sequence.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 45e3a74d3fb..35dd77fffce 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -401,6 +401,9 @@ SetSequence_non_transactional(Oid seqrelid, int64 value) XLogRegisterData((char *) &xlrec, sizeof(xl_seq_rec)); XLogRegisterData((char *) seqdatatuple.t_data, seqdatatuple.t_len); + /* allow filtering by origin on a sequence update */ + XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); + recptr = XLogInsert(RM_SEQ_ID, XLOG_SEQ_LOG); PageSetLSN(page, recptr); @@ -606,6 +609,9 @@ fill_seq_fork_with_data(Relation rel, HeapTuple tuple, ForkNumber forkNum) XLogRegisterData((char *) &xlrec, sizeof(xl_seq_rec)); XLogRegisterData((char *) tuple->t_data, tuple->t_len); + /* allow filtering by origin on a sequence update */ + XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); + recptr = XLogInsert(RM_SEQ_ID, XLOG_SEQ_LOG); PageSetLSN(page, recptr); @@ -1058,6 +1064,9 @@ nextval_internal(Oid relid, bool check_permissions) XLogRegisterData((char *) &xlrec, sizeof(xl_seq_rec)); XLogRegisterData((char *) seqdatatuple.t_data, seqdatatuple.t_len); + /* allow filtering by origin on a sequence update */ + XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); + recptr = XLogInsert(RM_SEQ_ID, XLOG_SEQ_LOG); PageSetLSN(page, recptr); @@ -1256,6 +1265,9 @@ do_setval(Oid relid, int64 next, bool iscalled) XLogRegisterData((char *) &xlrec, sizeof(xl_seq_rec)); XLogRegisterData((char *) seqdatatuple.t_data, seqdatatuple.t_len); + /* allow filtering by origin on a sequence update */ + XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); + recptr = XLogInsert(RM_SEQ_ID, XLOG_SEQ_LOG); PageSetLSN(page, recptr); -- 2.41.0