mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
Add a xid argument to the filter_prepare callback for output plugins.
Along with gid, this provides a different way to identify the transaction. The users that use xid in some way to prepare the transactions can use it to filter prepare transactions. The later commands COMMIT PREPARED or ROLLBACK PREPARED carries both identifiers, providing an output plugin the choice of what to use. Author: Markus Wanner Reviewed-by: Vignesh C, Amit Kapila Discussion: https://postgr.es/m/ee280000-7355-c4dc-e47b-2436e7be959c@enterprisedb.com
This commit is contained in:
@ -77,6 +77,7 @@ static void pg_decode_message(LogicalDecodingContext *ctx,
|
||||
bool transactional, const char *prefix,
|
||||
Size sz, const char *message);
|
||||
static bool pg_decode_filter_prepare(LogicalDecodingContext *ctx,
|
||||
TransactionId xid,
|
||||
const char *gid);
|
||||
static void pg_decode_begin_prepare_txn(LogicalDecodingContext *ctx,
|
||||
ReorderBufferTXN *txn);
|
||||
@ -440,7 +441,8 @@ pg_decode_rollback_prepared_txn(LogicalDecodingContext *ctx,
|
||||
* substring, then we filter it out.
|
||||
*/
|
||||
static bool
|
||||
pg_decode_filter_prepare(LogicalDecodingContext *ctx, const char *gid)
|
||||
pg_decode_filter_prepare(LogicalDecodingContext *ctx, TransactionId xid,
|
||||
const char *gid)
|
||||
{
|
||||
if (strstr(gid, "_nodecode") != NULL)
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user