agora inbox for [email protected]help / color / mirror / Atom feed
[PATCH v3 3/7] Handle pg_get_viewdef default args in system_functions.sql 959+ messages / 2 participants [nested] [flat]
* [PATCH v3 3/7] Handle pg_get_viewdef default args in system_functions.sql @ 2025-12-09 17:33 Mark Wong <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Mark Wong @ 2025-12-09 17:33 UTC (permalink / raw) Modernize pg_get_viewdef to use CREATE OR REPLACE FUNCTION to handle the optional pretty argument for both versions that use OID or view name. --- src/backend/catalog/system_functions.sql | 14 ++++++++ src/backend/utils/adt/ruleutils.c | 44 ------------------------ src/include/catalog/pg_proc.dat | 11 ++---- src/include/catalog/pg_retired.dat | 4 ++- 4 files changed, 19 insertions(+), 54 deletions(-) diff --git a/src/backend/catalog/system_functions.sql b/src/backend/catalog/system_functions.sql index 3aad2fbf8f3..4ddbf194fa8 100644 --- a/src/backend/catalog/system_functions.sql +++ b/src/backend/catalog/system_functions.sql @@ -664,6 +664,20 @@ LANGUAGE INTERNAL PARALLEL SAFE AS 'pg_get_ruledef'; +CREATE OR REPLACE FUNCTION + pg_get_viewdef(view text, pretty bool DEFAULT false) +RETURNS TEXT +LANGUAGE INTERNAL +PARALLEL RESTRICTED +AS 'pg_get_viewdef_name'; + +CREATE OR REPLACE FUNCTION + pg_get_viewdef(view oid, pretty bool DEFAULT false) +RETURNS TEXT +LANGUAGE INTERNAL +PARALLEL RESTRICTED +AS 'pg_get_viewdef'; + -- -- The default permissions for functions mean that anyone can execute them. -- A number of functions shouldn't be executable by just anyone, but rather diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 3733212fe0a..29557f3c9d2 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -658,25 +658,6 @@ pg_get_ruledef_worker(Oid ruleoid, int prettyFlags) */ Datum pg_get_viewdef(PG_FUNCTION_ARGS) -{ - /* By OID */ - Oid viewoid = PG_GETARG_OID(0); - int prettyFlags; - char *res; - - prettyFlags = PRETTYFLAG_INDENT; - - res = pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT); - - if (res == NULL) - PG_RETURN_NULL(); - - PG_RETURN_TEXT_P(string_to_text(res)); -} - - -Datum -pg_get_viewdef_ext(PG_FUNCTION_ARGS) { /* By OID */ Oid viewoid = PG_GETARG_OID(0); @@ -716,31 +697,6 @@ pg_get_viewdef_wrap(PG_FUNCTION_ARGS) Datum pg_get_viewdef_name(PG_FUNCTION_ARGS) -{ - /* By qualified name */ - text *viewname = PG_GETARG_TEXT_PP(0); - int prettyFlags; - RangeVar *viewrel; - Oid viewoid; - char *res; - - prettyFlags = PRETTYFLAG_INDENT; - - /* Look up view name. Can't lock it - we might not have privileges. */ - viewrel = makeRangeVarFromNameList(textToQualifiedNameList(viewname)); - viewoid = RangeVarGetRelid(viewrel, NoLock, false); - - res = pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT); - - if (res == NULL) - PG_RETURN_NULL(); - - PG_RETURN_TEXT_P(string_to_text(res)); -} - - -Datum -pg_get_viewdef_name_ext(PG_FUNCTION_ARGS) { /* By qualified name */ text *viewname = PG_GETARG_TEXT_PP(0); diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index 2a3362567a7..531d0dea7db 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -3961,13 +3961,6 @@ proargtypes => 'oid oid', prosrc => 'oidge' }, # System-view support functions -{ oid => '1640', descr => 'select statement of a view', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'text', - prosrc => 'pg_get_viewdef_name' }, -{ oid => '1641', descr => 'select statement of a view', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'oid', prosrc => 'pg_get_viewdef' }, { oid => '1642', descr => 'role name by OID (with fallback)', proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name', proargtypes => 'oid', prosrc => 'pg_get_userbyid' }, @@ -8510,12 +8503,12 @@ descr => 'select statement of a view with pretty-print option', proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', prorettype => 'text', proargtypes => 'text bool', - prosrc => 'pg_get_viewdef_name_ext' }, + prosrc => 'pg_get_viewdef_name' }, { oid => '2506', descr => 'select statement of a view with pretty-print option', proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', prorettype => 'text', proargtypes => 'oid bool', - prosrc => 'pg_get_viewdef_ext' }, + prosrc => 'pg_get_viewdef' }, { oid => '3159', descr => 'select statement of a view with pretty-printing and specified line wrapping', proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', diff --git a/src/include/catalog/pg_retired.dat b/src/include/catalog/pg_retired.dat index a3ce10c7f62..d5d51ddb3e8 100644 --- a/src/include/catalog/pg_retired.dat +++ b/src/include/catalog/pg_retired.dat @@ -17,6 +17,8 @@ # At the same time, it may be good to be reminded what procedure was associated # with it. -{ oid => '1573', proname => 'pg_get_ruledef' } +{ oid => '1573', proname => 'pg_get_ruledef' }, +{ oid => '1640', proname => 'pg_get_viewdef' }, +{ oid => '1641', proname => 'pg_get_viewdef' } ] -- 2.43.0 --zd8Z8rlPOcTi77n/ Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v3-0004-Handle-pg_get_indexdef-default-args-in-system_fun.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
* [PATCH v44 06/10] rename routines on the logical output plugin side @ 2026-03-23 20:37 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 959+ messages in thread From: Álvaro Herrera @ 2026-03-23 20:37 UTC (permalink / raw) --- src/backend/commands/cluster.c | 3 +- .../pgoutput_repack/pgoutput_repack.c | 54 +++++++++---------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c index b86e600af41..75556cbdafb 100644 --- a/src/backend/commands/cluster.c +++ b/src/backend/commands/cluster.c @@ -3121,7 +3121,8 @@ restore_tuple(BufFile *file, Relation relation, TupleTableSlot *slot) /* * Next, read any attributes we stored separately into the tts_values - * array elements expecting them, if any. This matches store_change. + * array elements expecting them, if any. This matches + * repack_store_change. */ BufFileReadExact(file, &natt_ext, sizeof(natt_ext)); if (natt_ext > 0) diff --git a/src/backend/replication/pgoutput_repack/pgoutput_repack.c b/src/backend/replication/pgoutput_repack/pgoutput_repack.c index de1892ef423..032fbd0e5b0 100644 --- a/src/backend/replication/pgoutput_repack/pgoutput_repack.c +++ b/src/backend/replication/pgoutput_repack/pgoutput_repack.c @@ -19,32 +19,32 @@ PG_MODULE_MAGIC; -static void plugin_startup(LogicalDecodingContext *ctx, +static void repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init); -static void plugin_shutdown(LogicalDecodingContext *ctx); -static void plugin_begin_txn(LogicalDecodingContext *ctx, +static void repack_shutdown(LogicalDecodingContext *ctx); +static void repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn); -static void plugin_commit_txn(LogicalDecodingContext *ctx, +static void repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -static void plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation rel, ReorderBufferChange *change); -static void store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple); +static void repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation rel, ReorderBufferChange *change); +static void repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple); void _PG_output_plugin_init(OutputPluginCallbacks *cb) { - cb->startup_cb = plugin_startup; - cb->begin_cb = plugin_begin_txn; - cb->change_cb = plugin_change; - cb->commit_cb = plugin_commit_txn; - cb->shutdown_cb = plugin_shutdown; + cb->startup_cb = repack_startup; + cb->begin_cb = repack_begin_txn; + cb->change_cb = repack_process_change; + cb->commit_cb = repack_commit_txn; + cb->shutdown_cb = repack_shutdown; } /* initialize this plugin */ static void -plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, +repack_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, bool is_init) { ctx->output_plugin_private = NULL; @@ -55,13 +55,13 @@ plugin_startup(LogicalDecodingContext *ctx, OutputPluginOptions *opt, if (ctx->output_plugin_options != NIL) { ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("This plugin does not expect any options"))); + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("this plugin does not expect any options")); } } static void -plugin_shutdown(LogicalDecodingContext *ctx) +repack_shutdown(LogicalDecodingContext *ctx) { } @@ -75,13 +75,13 @@ plugin_shutdown(LogicalDecodingContext *ctx) /* BEGIN callback */ static void -plugin_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) +repack_begin_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn) { } /* COMMIT callback */ static void -plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, +repack_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, XLogRecPtr commit_lsn) { } @@ -90,8 +90,8 @@ plugin_commit_txn(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * Callback for individual changed tuples */ static void -plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, - Relation relation, ReorderBufferChange *change) +repack_process_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, + Relation relation, ReorderBufferChange *change) { RepackDecodingState *private = (RepackDecodingState *) ctx->output_writer_private; @@ -114,7 +114,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (newtuple == NULL) elog(ERROR, "incomplete insert info."); - store_change(ctx, relation, CHANGE_INSERT, newtuple); + repack_store_change(ctx, relation, CHANGE_INSERT, newtuple); } break; case REORDER_BUFFER_CHANGE_UPDATE: @@ -129,9 +129,9 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, elog(ERROR, "incomplete update info."); if (oldtuple != NULL) - store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_OLD, oldtuple); - store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); + repack_store_change(ctx, relation, CHANGE_UPDATE_NEW, newtuple); } break; case REORDER_BUFFER_CHANGE_DELETE: @@ -143,7 +143,7 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, if (oldtuple == NULL) elog(ERROR, "incomplete delete info."); - store_change(ctx, relation, CHANGE_DELETE, oldtuple); + repack_store_change(ctx, relation, CHANGE_DELETE, oldtuple); } break; default: @@ -172,8 +172,8 @@ plugin_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn, * replication identity instead of the full tuple. */ static void -store_change(LogicalDecodingContext *ctx, Relation relation, - ConcurrentChangeKind kind, HeapTuple tuple) +repack_store_change(LogicalDecodingContext *ctx, Relation relation, + ConcurrentChangeKind kind, HeapTuple tuple) { RepackDecodingState *dstate; MemoryContext oldcxt; -- 2.47.3 --gwom7bl7ogtszo4k Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="v44-0007-Split-cluster.h-to-create-repack_internal.h.patch" ^ permalink raw reply [nested|flat] 959+ messages in thread
end of thread, other threads:[~2026-03-23 20:37 UTC | newest] Thread overview: 959+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2025-12-09 17:33 [PATCH v3 3/7] Handle pg_get_viewdef default args in system_functions.sql Mark Wong <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]> 2026-03-23 20:37 [PATCH v44 06/10] rename routines on the logical output plugin side Álvaro Herrera <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox