aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/xlog_internal.h
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2022-01-19 14:58:04 -0800
committerJeff Davis <jdavis@postgresql.org>2022-01-19 14:58:49 -0800
commit7a5f6b47488d824b1ea1326be4337e2c32325ff2 (patch)
tree236969831968cd55bad7ad199131643fdd9f877d /src/include/access/xlog_internal.h
parenta3d6264bbce0ff7002be35a907b73b01e2e37f45 (diff)
downloadpostgresql-7a5f6b47488d824b1ea1326be4337e2c32325ff2.tar.gz
postgresql-7a5f6b47488d824b1ea1326be4337e2c32325ff2.zip
Make logical decoding a part of the rmgr.
Add a new rmgr method, rm_decode, and use that rather than a switch statement. In preparation for rmgr extensibility. Reviewed-by: Julien Rouhaud Discussion: https://postgr.es/m/ed1fb2e22d15d3563ae0eb610f7b61bb15999c0a.camel%40j-davis.com Discussion: https://postgr.es/m/20220118095332.6xtlcjoyxobv6cbk@jrouhaud
Diffstat (limited to 'src/include/access/xlog_internal.h')
-rw-r--r--src/include/access/xlog_internal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h
index e27fca0cc0e..849954a8e5a 100644
--- a/src/include/access/xlog_internal.h
+++ b/src/include/access/xlog_internal.h
@@ -287,6 +287,9 @@ typedef enum
RECOVERY_TARGET_ACTION_SHUTDOWN
} RecoveryTargetAction;
+struct LogicalDecodingContext;
+struct XLogRecordBuffer;
+
/*
* Method table for resource managers.
*
@@ -312,6 +315,8 @@ typedef struct RmgrData
void (*rm_startup) (void);
void (*rm_cleanup) (void);
void (*rm_mask) (char *pagedata, BlockNumber blkno);
+ void (*rm_decode) (struct LogicalDecodingContext *ctx,
+ struct XLogRecordBuffer *buf);
} RmgrData;
extern const RmgrData RmgrTable[];